1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn */
6 /* Input file: packet-x420-template.c */
8 #line 1 "packet-x420-template.c"
10 * Routines for X.420 (X.400 Message Transfer) packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/conversation.h>
41 #include <epan/oids.h>
42 #include <epan/asn1.h>
47 #include "packet-ber.h"
48 #include "packet-acse.h"
49 #include "packet-ros.h"
51 #include "packet-x509af.h"
52 #include "packet-x509ce.h"
53 #include "packet-ftam.h"
54 #include "packet-x411.h"
55 #include "packet-p7.h"
57 #include "packet-x420.h"
59 #define PNAME "X.420 Information Object"
63 /* Initialize the protocol and registered fields */
66 static const char *object_identifier_id; /* content type identifier */
68 static const value_string charsetreg_vals [] = {
69 { 1, "C0: (ISO/IEC 6429)"},
70 { 6, "G0: ASCII (ISO/IEC 646)"},
71 { 77, "C1: (ISO/IEC 6429)"},
72 { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
73 { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
74 { 104, "C0: (ISO/IEC 4873)"},
75 { 105, "C1: (ISO/IEC 4873)"},
76 { 106, "C0: Teletex (CCITT T.61)"},
77 { 107, "C1: Teletex (CCITT T.61)"},
78 { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
79 { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
80 { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
81 { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
82 { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
83 { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
84 { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
85 { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
86 { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
87 { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
88 { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
89 { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
90 { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
91 { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
92 { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
93 { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
98 /*--- Included file: packet-x420-hf.c ---*/
99 #line 1 "packet-x420-hf.c"
100 static int hf_x420_InformationObject_PDU = -1; /* InformationObject */
101 static int hf_x420_Heading_PDU = -1; /* Heading */
102 static int hf_x420_ORDescriptor_PDU = -1; /* ORDescriptor */
103 static int hf_x420_ThisIPMField_PDU = -1; /* ThisIPMField */
104 static int hf_x420_OriginatorField_PDU = -1; /* OriginatorField */
105 static int hf_x420_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */
106 static int hf_x420_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */
107 static int hf_x420_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */
108 static int hf_x420_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */
109 static int hf_x420_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */
110 static int hf_x420_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */
111 static int hf_x420_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */
112 static int hf_x420_SubjectField_PDU = -1; /* SubjectField */
113 static int hf_x420_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */
114 static int hf_x420_ReplyTimeField_PDU = -1; /* ReplyTimeField */
115 static int hf_x420_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */
116 static int hf_x420_ImportanceField_PDU = -1; /* ImportanceField */
117 static int hf_x420_SensitivityField_PDU = -1; /* SensitivityField */
118 static int hf_x420_AutoForwardedField_PDU = -1; /* AutoForwardedField */
119 static int hf_x420_Body_PDU = -1; /* Body */
120 static int hf_x420_IA5TextParameters_PDU = -1; /* IA5TextParameters */
121 static int hf_x420_IA5TextData_PDU = -1; /* IA5TextData */
122 static int hf_x420_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */
123 static int hf_x420_G3FacsimileData_PDU = -1; /* G3FacsimileData */
124 static int hf_x420_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */
125 static int hf_x420_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */
126 static int hf_x420_TeletexParameters_PDU = -1; /* TeletexParameters */
127 static int hf_x420_TeletexData_PDU = -1; /* TeletexData */
128 static int hf_x420_VideotexParameters_PDU = -1; /* VideotexParameters */
129 static int hf_x420_VideotexData_PDU = -1; /* VideotexData */
130 static int hf_x420_EncryptedParameters_PDU = -1; /* EncryptedParameters */
131 static int hf_x420_EncryptedData_PDU = -1; /* EncryptedData */
132 static int hf_x420_MessageParameters_PDU = -1; /* MessageParameters */
133 static int hf_x420_MessageData_PDU = -1; /* MessageData */
134 static int hf_x420_BilaterallyDefinedBodyPart_PDU = -1; /* BilaterallyDefinedBodyPart */
135 static int hf_x420_IPN_PDU = -1; /* IPN */
136 static int hf_x420_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */
137 static int hf_x420_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */
138 static int hf_x420_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */
139 static int hf_x420_IncompleteCopy_PDU = -1; /* IncompleteCopy */
140 static int hf_x420_Languages_PDU = -1; /* Languages */
141 static int hf_x420_Language_PDU = -1; /* Language */
142 static int hf_x420_AutoSubmitted_PDU = -1; /* AutoSubmitted */
143 static int hf_x420_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */
144 static int hf_x420_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */
145 static int hf_x420_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */
146 static int hf_x420_AuthorizationTime_PDU = -1; /* AuthorizationTime */
147 static int hf_x420_CirculationList_PDU = -1; /* CirculationList */
148 static int hf_x420_CirculationMember_PDU = -1; /* CirculationMember */
149 static int hf_x420_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */
150 static int hf_x420_DistributionCodes_PDU = -1; /* DistributionCodes */
151 static int hf_x420_DistributionCode_PDU = -1; /* DistributionCode */
152 static int hf_x420_ExtendedSubject_PDU = -1; /* ExtendedSubject */
153 static int hf_x420_InformationCategories_PDU = -1; /* InformationCategories */
154 static int hf_x420_InformationCategory_PDU = -1; /* InformationCategory */
155 static int hf_x420_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */
156 static int hf_x420_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */
157 static int hf_x420_OriginatorsReference_PDU = -1; /* OriginatorsReference */
158 static int hf_x420_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */
159 static int hf_x420_Precedence_PDU = -1; /* Precedence */
160 static int hf_x420_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */
161 static int hf_x420_GeneralTextData_PDU = -1; /* GeneralTextData */
162 static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */
163 static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */
164 static int hf_x420_VoiceParameters_PDU = -1; /* VoiceParameters */
165 static int hf_x420_VoiceData_PDU = -1; /* VoiceData */
166 static int hf_x420_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */
167 static int hf_x420_IPMEntryType_PDU = -1; /* IPMEntryType */
168 static int hf_x420_IPMSynopsis_PDU = -1; /* IPMSynopsis */
169 static int hf_x420_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */
170 static int hf_x420_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */
171 static int hf_x420_IPMLocation_PDU = -1; /* IPMLocation */
172 static int hf_x420_DeliveredReplyStatus_PDU = -1; /* DeliveredReplyStatus */
173 static int hf_x420_CorrelatedDeliveredReplies_PDU = -1; /* CorrelatedDeliveredReplies */
174 static int hf_x420_DeliveredIPNStatus_PDU = -1; /* DeliveredIPNStatus */
175 static int hf_x420_CorrelatedDeliveredIPNs_PDU = -1; /* CorrelatedDeliveredIPNs */
176 static int hf_x420_SubmittedReplyStatus_PDU = -1; /* SubmittedReplyStatus */
177 static int hf_x420_SubmittedIPNStatus_PDU = -1; /* SubmittedIPNStatus */
178 static int hf_x420_RecipientCategory_PDU = -1; /* RecipientCategory */
179 static int hf_x420_RecipientSecurityRequest_PDU = -1; /* RecipientSecurityRequest */
180 static int hf_x420_IpnSecurityResponse_PDU = -1; /* IpnSecurityResponse */
181 static int hf_x420_BodyPartTokens_PDU = -1; /* BodyPartTokens */
182 static int hf_x420_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */
183 static int hf_x420_ipm = -1; /* IPM */
184 static int hf_x420_ipn = -1; /* IPN */
185 static int hf_x420_heading = -1; /* Heading */
186 static int hf_x420_body = -1; /* Body */
187 static int hf_x420_type = -1; /* T_type */
188 static int hf_x420_value = -1; /* T_value */
189 static int hf_x420_this_IPM = -1; /* ThisIPMField */
190 static int hf_x420_originator = -1; /* OriginatorField */
191 static int hf_x420_authorizing_users = -1; /* AuthorizingUsersField */
192 static int hf_x420_primary_recipients = -1; /* PrimaryRecipientsField */
193 static int hf_x420_copy_recipients = -1; /* CopyRecipientsField */
194 static int hf_x420_blind_copy_recipients = -1; /* BlindCopyRecipientsField */
195 static int hf_x420_replied_to_IPM = -1; /* RepliedToIPMField */
196 static int hf_x420_obsoleted_IPMs = -1; /* ObsoletedIPMsField */
197 static int hf_x420_related_IPMs = -1; /* RelatedIPMsField */
198 static int hf_x420_subject = -1; /* SubjectField */
199 static int hf_x420_expiry_time = -1; /* ExpiryTimeField */
200 static int hf_x420_reply_time = -1; /* ReplyTimeField */
201 static int hf_x420_reply_recipients = -1; /* ReplyRecipientsField */
202 static int hf_x420_importance = -1; /* ImportanceField */
203 static int hf_x420_sensitivity = -1; /* SensitivityField */
204 static int hf_x420_auto_forwarded = -1; /* AutoForwardedField */
205 static int hf_x420_extensions = -1; /* ExtensionsField */
206 static int hf_x420_user = -1; /* ORName */
207 static int hf_x420_user_relative_identifier = -1; /* LocalIPMIdentifier */
208 static int hf_x420_recipient = -1; /* ORDescriptor */
209 static int hf_x420_notification_requests = -1; /* NotificationRequests */
210 static int hf_x420_reply_requested = -1; /* BOOLEAN */
211 static int hf_x420_recipient_extensions = -1; /* RecipientExtensionsField */
212 static int hf_x420_formal_name = -1; /* ORName */
213 static int hf_x420_free_form_name = -1; /* FreeFormName */
214 static int hf_x420_telephone_number = -1; /* TelephoneNumber */
215 static int hf_x420_RecipientExtensionsField_item = -1; /* IPMSExtension */
216 static int hf_x420_AuthorizingUsersField_item = -1; /* AuthorizingUsersSubfield */
217 static int hf_x420_PrimaryRecipientsField_item = -1; /* PrimaryRecipientsSubfield */
218 static int hf_x420_CopyRecipientsField_item = -1; /* CopyRecipientsSubfield */
219 static int hf_x420_BlindCopyRecipientsField_item = -1; /* BlindCopyRecipientsSubfield */
220 static int hf_x420_ObsoletedIPMsField_item = -1; /* ObsoletedIPMsSubfield */
221 static int hf_x420_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */
222 static int hf_x420_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */
223 static int hf_x420_ExtensionsField_item = -1; /* IPMSExtension */
224 static int hf_x420_Body_item = -1; /* BodyPart */
225 static int hf_x420_basic = -1; /* T_basic */
226 static int hf_x420_ia5_text = -1; /* IA5TextBodyPart */
227 static int hf_x420_g3_facsimile = -1; /* G3FacsimileBodyPart */
228 static int hf_x420_g4_class1 = -1; /* G4Class1BodyPart */
229 static int hf_x420_teletex = -1; /* TeletexBodyPart */
230 static int hf_x420_videotex = -1; /* VideotexBodyPart */
231 static int hf_x420_encrypted_bp = -1; /* EncryptedBodyPart */
232 static int hf_x420_message = -1; /* MessageBodyPart */
233 static int hf_x420_mixed_mode = -1; /* MixedModeBodyPart */
234 static int hf_x420_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */
235 static int hf_x420_nationally_defined = -1; /* NationallyDefinedBodyPart */
236 static int hf_x420_extended = -1; /* ExtendedBodyPart */
237 static int hf_x420_extended_parameters = -1; /* INSTANCE_OF */
238 static int hf_x420_extended_data = -1; /* INSTANCE_OF */
239 static int hf_x420_ia5text_parameters = -1; /* IA5TextParameters */
240 static int hf_x420_ia5text_data = -1; /* IA5TextData */
241 static int hf_x420_repertoire = -1; /* Repertoire */
242 static int hf_x420_g3facsimile_parameters = -1; /* G3FacsimileParameters */
243 static int hf_x420_g3facsimile_data = -1; /* G3FacsimileData */
244 static int hf_x420_number_of_pages = -1; /* INTEGER */
245 static int hf_x420_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */
246 static int hf_x420_G3FacsimileData_item = -1; /* BIT_STRING */
247 static int hf_x420_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */
248 static int hf_x420_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */
249 static int hf_x420_teletex_parameters = -1; /* TeletexParameters */
250 static int hf_x420_teletex_data = -1; /* TeletexData */
251 static int hf_x420_telex_compatible = -1; /* BOOLEAN */
252 static int hf_x420_teletex_non_basic_parameters = -1; /* TeletexNonBasicParameters */
253 static int hf_x420_TeletexData_item = -1; /* TeletexString */
254 static int hf_x420_videotex_parameters = -1; /* VideotexParameters */
255 static int hf_x420_videotex_data = -1; /* VideotexData */
256 static int hf_x420_syntax = -1; /* VideotexSyntax */
257 static int hf_x420_encrypted_parameters = -1; /* EncryptedParameters */
258 static int hf_x420_encrypted_data = -1; /* EncryptedData */
259 static int hf_x420_algorithm_identifier = -1; /* AlgorithmIdentifier */
260 static int hf_x420_originator_certificates = -1; /* ExtendedCertificates */
261 static int hf_x420_message_parameters = -1; /* MessageParameters */
262 static int hf_x420_message_data = -1; /* MessageData */
263 static int hf_x420_delivery_time = -1; /* MessageDeliveryTime */
264 static int hf_x420_delivery_envelope = -1; /* OtherMessageDeliveryFields */
265 static int hf_x420_subject_ipm = -1; /* SubjectIPMField */
266 static int hf_x420_ipn_originator = -1; /* IPNOriginatorField */
267 static int hf_x420_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */
268 static int hf_x420_conversion_eits = -1; /* ConversionEITsField */
269 static int hf_x420_notification_extensions = -1; /* NotificationExtensionsField */
270 static int hf_x420_non_receipt_reason = -1; /* NonReceiptReasonField */
271 static int hf_x420_discard_reason = -1; /* DiscardReasonField */
272 static int hf_x420_auto_forward_comment = -1; /* AutoForwardCommentField */
273 static int hf_x420_returned_ipm = -1; /* ReturnedIPMField */
274 static int hf_x420_nrn_extensions = -1; /* NRNExtensionsField */
275 static int hf_x420_receipt_time = -1; /* ReceiptTimeField */
276 static int hf_x420_acknowledgment_mode = -1; /* AcknowledgmentModeField */
277 static int hf_x420_suppl_receipt_info = -1; /* SupplReceiptInfoField */
278 static int hf_x420_rn_extensions = -1; /* RNExtensionsField */
279 static int hf_x420_NotificationExtensionsField_item = -1; /* IPMSExtension */
280 static int hf_x420_NRNExtensionsField_item = -1; /* IPMSExtension */
281 static int hf_x420_RNExtensionsField_item = -1; /* IPMSExtension */
282 static int hf_x420_OtherNotificationTypeFields_item = -1; /* IPMSExtension */
283 static int hf_x420_advice = -1; /* BodyPart */
284 static int hf_x420_next_available = -1; /* Time */
285 static int hf_x420_new_address = -1; /* ORDescriptor */
286 static int hf_x420_effective_from = -1; /* Time */
287 static int hf_x420_assembly_instructions = -1; /* BodyPartReferences */
288 static int hf_x420_BodyPartReferences_item = -1; /* BodyPartReference */
289 static int hf_x420_stored_entry = -1; /* SequenceNumber */
290 static int hf_x420_stored_content = -1; /* SequenceNumber */
291 static int hf_x420_submitted_body_part = -1; /* INTEGER_1_MAX */
292 static int hf_x420_stored_body_part = -1; /* T_stored_body_part */
293 static int hf_x420_message_entry = -1; /* SequenceNumber */
294 static int hf_x420_body_part_number = -1; /* BodyPartNumber */
295 static int hf_x420_Languages_item = -1; /* Language */
296 static int hf_x420_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */
297 static int hf_x420_body_part_signature = -1; /* BodyPartSignature */
298 static int hf_x420_originator_certificate_selector = -1; /* CertificateAssertion */
299 static int hf_x420_algorithmIdentifier = -1; /* AlgorithmIdentifier */
300 static int hf_x420_encrypted = -1; /* BIT_STRING */
301 static int hf_x420_content_security_label = -1; /* SecurityLabel */
302 static int hf_x420_heading_security_label = -1; /* SecurityLabel */
303 static int hf_x420_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */
304 static int hf_x420_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */
305 static int hf_x420_body_part_unlabelled = -1; /* NULL */
306 static int hf_x420_body_part_security_label = -1; /* SecurityLabel */
307 static int hf_x420_CirculationList_item = -1; /* CirculationMember */
308 static int hf_x420_circulation_recipient = -1; /* RecipientSpecifier */
309 static int hf_x420_checked = -1; /* Checkmark */
310 static int hf_x420_simple = -1; /* NULL */
311 static int hf_x420_timestamped = -1; /* CirculationTime */
312 static int hf_x420_signed = -1; /* CirculationSignature */
313 static int hf_x420_circulation_signature_algorithm_identifier = -1; /* CirculationSignatureAlgorithmIdentifier */
314 static int hf_x420_timestamp = -1; /* CirculationTime */
315 static int hf_x420_circulation_signature_data = -1; /* CirculationSignatureData */
316 static int hf_x420_DistributionCodes_item = -1; /* DistributionCode */
317 static int hf_x420_oid_code = -1; /* OBJECT_IDENTIFIER */
318 static int hf_x420_alphanumeric_code = -1; /* AlphaCode */
319 static int hf_x420_or_descriptor = -1; /* ORDescriptor */
320 static int hf_x420_InformationCategories_item = -1; /* InformationCategory */
321 static int hf_x420_reference = -1; /* OBJECT_IDENTIFIER */
322 static int hf_x420_description = -1; /* DescriptionString */
323 static int hf_x420_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */
324 static int hf_x420_GeneralTextParameters_item = -1; /* CharacterSetRegistration */
325 static int hf_x420_related_stored_file = -1; /* RelatedStoredFile */
326 static int hf_x420_contents_type = -1; /* ContentsTypeParameter */
327 static int hf_x420_environment = -1; /* EnvironmentParameter */
328 static int hf_x420_compression = -1; /* CompressionParameter */
329 static int hf_x420_file_attributes = -1; /* FileAttributes */
330 static int hf_x420_FileTransferData_item = -1; /* EXTERNAL */
331 static int hf_x420_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */
332 static int hf_x420_file_identifier = -1; /* FileIdentifier */
333 static int hf_x420_relationship = -1; /* Relationship */
334 static int hf_x420_pathname_and_version = -1; /* PathnameandVersion */
335 static int hf_x420_cross_reference = -1; /* CrossReference */
336 static int hf_x420_pathname = -1; /* Pathname_Attribute */
337 static int hf_x420_file_version = -1; /* GraphicString */
338 static int hf_x420_application_cross_reference = -1; /* OCTET_STRING */
339 static int hf_x420_message_reference = -1; /* MessageReference */
340 static int hf_x420_body_part_reference = -1; /* INTEGER */
341 static int hf_x420_user_relative_identifier_ref = -1; /* PrintableString */
342 static int hf_x420_explicit_relationship = -1; /* ExplicitRelationship */
343 static int hf_x420_descriptive_relationship = -1; /* GraphicString */
344 static int hf_x420_document_type = -1; /* T_document_type */
345 static int hf_x420_document_type_name = -1; /* Document_Type_Name */
346 static int hf_x420_parameter = -1; /* T_parameter */
347 static int hf_x420_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */
348 static int hf_x420_constraint_set_name = -1; /* Constraint_Set_Name */
349 static int hf_x420_abstract_syntax_name = -1; /* Abstract_Syntax_Name */
350 static int hf_x420_application_reference = -1; /* GeneralIdentifier */
351 static int hf_x420_machine = -1; /* GeneralIdentifier */
352 static int hf_x420_operating_system = -1; /* OBJECT_IDENTIFIER */
353 static int hf_x420_user_visible_string = -1; /* T_user_visible_string */
354 static int hf_x420_user_visible_string_item = -1; /* GraphicString */
355 static int hf_x420_registered_identifier = -1; /* OBJECT_IDENTIFIER */
356 static int hf_x420_descriptive_identifier = -1; /* T_descriptive_identifier */
357 static int hf_x420_descriptive_identifier_item = -1; /* GraphicString */
358 static int hf_x420_compression_algorithm_id = -1; /* T_compression_algorithm_id */
359 static int hf_x420_compression_algorithm_param = -1; /* T_compression_algorithm_param */
360 static int hf_x420_permitted_actions = -1; /* Permitted_Actions_Attribute */
361 static int hf_x420_storage_account = -1; /* Account_Attribute */
362 static int hf_x420_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
363 static int hf_x420_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
364 static int hf_x420_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
365 static int hf_x420_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
366 static int hf_x420_identity_of_creator = -1; /* User_Identity_Attribute */
367 static int hf_x420_identity_of_last_modifier = -1; /* User_Identity_Attribute */
368 static int hf_x420_identity_of_last_reader = -1; /* User_Identity_Attribute */
369 static int hf_x420_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */
370 static int hf_x420_object_availability = -1; /* Object_Availability_Attribute */
371 static int hf_x420_object_size = -1; /* Object_Size_Attribute */
372 static int hf_x420_future_object_size = -1; /* Object_Size_Attribute */
373 static int hf_x420_access_control = -1; /* Access_Control_Attribute */
374 static int hf_x420_legal_qualifications = -1; /* Legal_Qualification_Attribute */
375 static int hf_x420_private_use = -1; /* Private_Use_Attribute */
376 static int hf_x420_attribute_extensions = -1; /* Attribute_Extensions */
377 static int hf_x420_incomplete_pathname = -1; /* Pathname */
378 static int hf_x420_complete_pathname = -1; /* Pathname */
379 static int hf_x420_no_value_available = -1; /* NULL */
380 static int hf_x420_account_actual_values = -1; /* Account */
381 static int hf_x420_identity_actual_values = -1; /* User_Identity */
382 static int hf_x420_actual_values = -1; /* SET_OF_Access_Control_Element */
383 static int hf_x420_actual_values_item = -1; /* Access_Control_Element */
384 static int hf_x420_action_list = -1; /* Access_Request */
385 static int hf_x420_concurrency_access = -1; /* Concurrency_Access */
386 static int hf_x420_identity = -1; /* User_Identity */
387 static int hf_x420_passwords = -1; /* Access_Passwords */
388 static int hf_x420_location = -1; /* Application_Entity_Title */
389 static int hf_x420_read_password = -1; /* Password */
390 static int hf_x420_insert_password = -1; /* Password */
391 static int hf_x420_replace_password = -1; /* Password */
392 static int hf_x420_extend_password = -1; /* Password */
393 static int hf_x420_erase_password = -1; /* Password */
394 static int hf_x420_read_attribute_password = -1; /* Password */
395 static int hf_x420_change_attribute_password = -1; /* Password */
396 static int hf_x420_delete_password = -1; /* Password */
397 static int hf_x420_pass_passwords = -1; /* Pass_Passwords */
398 static int hf_x420_link_password = -1; /* Password */
399 static int hf_x420_graphic_string = -1; /* GraphicString */
400 static int hf_x420_octet_string = -1; /* OCTET_STRING */
401 static int hf_x420_Pass_Passwords_item = -1; /* Password */
402 static int hf_x420_ap_title = -1; /* AP_title */
403 static int hf_x420_ae_qualifier = -1; /* AE_qualifier */
404 static int hf_x420_voice_message_duration = -1; /* INTEGER */
405 static int hf_x420_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */
406 static int hf_x420_supplementary_information = -1; /* IA5String */
407 static int hf_x420_mts_identifier = -1; /* MessageDeliveryIdentifier */
408 static int hf_x420_submission_proof = -1; /* SubmissionProof */
409 static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */
410 static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
411 static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
412 static int hf_x420_IPMSynopsis_item = -1; /* BodyPartSynopsis */
413 static int hf_x420_message_synopsis = -1; /* MessageBodyPartSynopsis */
414 static int hf_x420_non_message = -1; /* NonMessageBodyPartSynopsis */
415 static int hf_x420_number = -1; /* SequenceNumber */
416 static int hf_x420_synopsis = -1; /* IPMSynopsis */
417 static int hf_x420_bp_type = -1; /* OBJECT_IDENTIFIER */
418 static int hf_x420_bp_parameters = -1; /* INSTANCE_OF */
419 static int hf_x420_size = -1; /* INTEGER */
420 static int hf_x420_processed = -1; /* BOOLEAN */
421 static int hf_x420_data = -1; /* OBJECT_IDENTIFIER */
422 static int hf_x420_parameters = -1; /* OBJECT_IDENTIFIER */
423 static int hf_x420_this_child_entry = -1; /* SequenceNumber */
424 static int hf_x420_position = -1; /* INTEGER */
425 static int hf_x420_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */
426 static int hf_x420_body_part_sequence_number = -1; /* BodyPartNumber */
427 static int hf_x420_body_part_signature_status = -1; /* SignatureStatus */
428 static int hf_x420_stored = -1; /* SET_OF_SequenceNumber */
429 static int hf_x420_stored_item = -1; /* SequenceNumber */
430 static int hf_x420_absent = -1; /* NULL */
431 static int hf_x420_no_reply_received = -1; /* NULL */
432 static int hf_x420_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */
433 static int hf_x420_received_replies_item = -1; /* SequenceNumber */
434 static int hf_x420_no_ipn_received = -1; /* NULL */
435 static int hf_x420_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */
436 static int hf_x420_ipns_received_item = -1; /* SequenceNumber */
437 static int hf_x420_content_or_arguments = -1; /* T_content_or_arguments */
438 static int hf_x420_original_content = -1; /* OriginalContent */
439 static int hf_x420_original_security_arguments = -1; /* T_original_security_arguments */
440 static int hf_x420_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */
441 static int hf_x420_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */
442 static int hf_x420_original_message_token = -1; /* OriginalMessageToken */
443 static int hf_x420_security_diagnostic_code = -1; /* SecurityDiagnosticCode */
444 static int hf_x420_BodyPartTokens_item = -1; /* BodyPartTokens_item */
445 static int hf_x420_body_part_choice = -1; /* T_body_part_choice */
446 static int hf_x420_encryption_token = -1; /* EncryptionToken */
447 static int hf_x420_message_or_content_body_part = -1; /* BodyPartTokens */
448 static int hf_x420_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
449 static int hf_x420_encrypted_key = -1; /* BIT_STRING */
450 static int hf_x420_recipient_certificate_selector = -1; /* CertificateAssertion */
451 static int hf_x420_recipient_certificate = -1; /* Certificates */
452 static int hf_x420_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */
453 static int hf_x420_body_part_token_choice = -1; /* T_body_part_token_choice */
454 static int hf_x420_forwarding_token = -1; /* MessageToken */
455 static int hf_x420_forwarded_content_token = -1; /* ForwardedContentToken */
456 static int hf_x420_choice = -1; /* T_choice */
457 static int hf_x420_non_receipt_fields = -1; /* NonReceiptFields */
458 static int hf_x420_receipt_fields = -1; /* ReceiptFields */
459 static int hf_x420_other_notification_type_fields = -1; /* OtherNotificationTypeFields */
461 static int hf_x420_NotificationRequests_rn = -1;
462 static int hf_x420_NotificationRequests_nrn = -1;
463 static int hf_x420_NotificationRequests_ipm_return = -1;
464 static int hf_x420_NotificationRequests_an_supported = -1;
465 static int hf_x420_NotificationRequests_suppress_an = -1;
466 static int hf_x420_Access_Request_read = -1;
467 static int hf_x420_Access_Request_insert = -1;
468 static int hf_x420_Access_Request_replace = -1;
469 static int hf_x420_Access_Request_extend = -1;
470 static int hf_x420_Access_Request_erase = -1;
471 static int hf_x420_Access_Request_read_attribute = -1;
472 static int hf_x420_Access_Request_change_attribute = -1;
473 static int hf_x420_Access_Request_delete_object = -1;
474 static int hf_x420_RecipientSecurityRequest_content_non_repudiation = -1;
475 static int hf_x420_RecipientSecurityRequest_content_proof = -1;
476 static int hf_x420_RecipientSecurityRequest_ipn_non_repudiation = -1;
477 static int hf_x420_RecipientSecurityRequest_ipn_proof = -1;
479 /*--- End of included file: packet-x420-hf.c ---*/
480 #line 90 "packet-x420-template.c"
482 /* Initialize the subtree pointers */
483 static gint ett_x420 = -1;
485 /*--- Included file: packet-x420-ett.c ---*/
486 #line 1 "packet-x420-ett.c"
487 static gint ett_x420_InformationObject = -1;
488 static gint ett_x420_IPM = -1;
489 static gint ett_x420_IPMSExtension = -1;
490 static gint ett_x420_Heading = -1;
491 static gint ett_x420_IPMIdentifier_U = -1;
492 static gint ett_x420_RecipientSpecifier = -1;
493 static gint ett_x420_ORDescriptor = -1;
494 static gint ett_x420_NotificationRequests = -1;
495 static gint ett_x420_RecipientExtensionsField = -1;
496 static gint ett_x420_AuthorizingUsersField = -1;
497 static gint ett_x420_PrimaryRecipientsField = -1;
498 static gint ett_x420_CopyRecipientsField = -1;
499 static gint ett_x420_BlindCopyRecipientsField = -1;
500 static gint ett_x420_ObsoletedIPMsField = -1;
501 static gint ett_x420_RelatedIPMsField = -1;
502 static gint ett_x420_ReplyRecipientsField = -1;
503 static gint ett_x420_ExtensionsField = -1;
504 static gint ett_x420_Body = -1;
505 static gint ett_x420_BodyPart = -1;
506 static gint ett_x420_T_basic = -1;
507 static gint ett_x420_ExtendedBodyPart = -1;
508 static gint ett_x420_IA5TextBodyPart = -1;
509 static gint ett_x420_IA5TextParameters = -1;
510 static gint ett_x420_G3FacsimileBodyPart = -1;
511 static gint ett_x420_G3FacsimileParameters = -1;
512 static gint ett_x420_G3FacsimileData = -1;
513 static gint ett_x420_G4Class1BodyPart = -1;
514 static gint ett_x420_MixedModeBodyPart = -1;
515 static gint ett_x420_TeletexBodyPart = -1;
516 static gint ett_x420_TeletexParameters = -1;
517 static gint ett_x420_TeletexData = -1;
518 static gint ett_x420_VideotexBodyPart = -1;
519 static gint ett_x420_VideotexParameters = -1;
520 static gint ett_x420_EncryptedBodyPart = -1;
521 static gint ett_x420_EncryptedParameters = -1;
522 static gint ett_x420_MessageBodyPart = -1;
523 static gint ett_x420_MessageParameters = -1;
524 static gint ett_x420_IPN = -1;
525 static gint ett_x420_CommonFields = -1;
526 static gint ett_x420_NonReceiptFields = -1;
527 static gint ett_x420_ReceiptFields = -1;
528 static gint ett_x420_NotificationExtensionsField = -1;
529 static gint ett_x420_NRNExtensionsField = -1;
530 static gint ett_x420_RNExtensionsField = -1;
531 static gint ett_x420_OtherNotificationTypeFields = -1;
532 static gint ett_x420_AbsenceAdvice = -1;
533 static gint ett_x420_ChangeOfAddressAdvice = -1;
534 static gint ett_x420_IPMAssemblyInstructions = -1;
535 static gint ett_x420_BodyPartReferences = -1;
536 static gint ett_x420_BodyPartReference = -1;
537 static gint ett_x420_T_stored_body_part = -1;
538 static gint ett_x420_Languages = -1;
539 static gint ett_x420_BodyPartSignatures = -1;
540 static gint ett_x420_BodyPartSignatures_item = -1;
541 static gint ett_x420_Signature = -1;
542 static gint ett_x420_IPMSecurityLabel = -1;
543 static gint ett_x420_SEQUENCE_OF_BodyPartSecurityLabel = -1;
544 static gint ett_x420_BodyPartSecurityLabel = -1;
545 static gint ett_x420_CirculationList = -1;
546 static gint ett_x420_CirculationMember = -1;
547 static gint ett_x420_Checkmark = -1;
548 static gint ett_x420_CirculationSignatureData = -1;
549 static gint ett_x420_CirculationSignature = -1;
550 static gint ett_x420_DistributionCodes = -1;
551 static gint ett_x420_DistributionCode = -1;
552 static gint ett_x420_InformationCategories = -1;
553 static gint ett_x420_InformationCategory = -1;
554 static gint ett_x420_ManualHandlingInstructions = -1;
555 static gint ett_x420_GeneralTextParameters = -1;
556 static gint ett_x420_FileTransferParameters = -1;
557 static gint ett_x420_FileTransferData = -1;
558 static gint ett_x420_RelatedStoredFile = -1;
559 static gint ett_x420_RelatedStoredFile_item = -1;
560 static gint ett_x420_FileIdentifier = -1;
561 static gint ett_x420_PathnameandVersion = -1;
562 static gint ett_x420_CrossReference = -1;
563 static gint ett_x420_MessageReference = -1;
564 static gint ett_x420_Relationship = -1;
565 static gint ett_x420_Contents_Type_Attribute = -1;
566 static gint ett_x420_T_document_type = -1;
567 static gint ett_x420_T_constraint_set_and_abstract_syntax = -1;
568 static gint ett_x420_EnvironmentParameter = -1;
569 static gint ett_x420_T_user_visible_string = -1;
570 static gint ett_x420_GeneralIdentifier = -1;
571 static gint ett_x420_T_descriptive_identifier = -1;
572 static gint ett_x420_CompressionParameter = -1;
573 static gint ett_x420_FileAttributes = -1;
574 static gint ett_x420_Pathname_Attribute = -1;
575 static gint ett_x420_Account_Attribute = -1;
576 static gint ett_x420_User_Identity_Attribute = -1;
577 static gint ett_x420_Access_Control_Attribute = -1;
578 static gint ett_x420_SET_OF_Access_Control_Element = -1;
579 static gint ett_x420_Access_Control_Element = -1;
580 static gint ett_x420_Access_Request = -1;
581 static gint ett_x420_Access_Passwords = -1;
582 static gint ett_x420_Password = -1;
583 static gint ett_x420_Pass_Passwords = -1;
584 static gint ett_x420_Application_Entity_Title = -1;
585 static gint ett_x420_VoiceParameters = -1;
586 static gint ett_x420_ForwardedContentParameters = -1;
587 static gint ett_x420_SubmissionProof = -1;
588 static gint ett_x420_IPMSynopsis = -1;
589 static gint ett_x420_BodyPartSynopsis = -1;
590 static gint ett_x420_MessageBodyPartSynopsis = -1;
591 static gint ett_x420_NonMessageBodyPartSynopsis = -1;
592 static gint ett_x420_BodyPartDescriptor = -1;
593 static gint ett_x420_BodyPartSignatureVerification = -1;
594 static gint ett_x420_BodyPartSignatureVerification_item = -1;
595 static gint ett_x420_IPMLocation = -1;
596 static gint ett_x420_SET_OF_SequenceNumber = -1;
597 static gint ett_x420_CorrelatedDeliveredReplies = -1;
598 static gint ett_x420_SEQUENCE_OF_SequenceNumber = -1;
599 static gint ett_x420_CorrelatedDeliveredIPNs = -1;
600 static gint ett_x420_RecipientSecurityRequest = -1;
601 static gint ett_x420_IpnSecurityResponse = -1;
602 static gint ett_x420_T_content_or_arguments = -1;
603 static gint ett_x420_T_original_security_arguments = -1;
604 static gint ett_x420_BodyPartTokens = -1;
605 static gint ett_x420_BodyPartTokens_item = -1;
606 static gint ett_x420_T_body_part_choice = -1;
607 static gint ett_x420_EncryptionToken = -1;
608 static gint ett_x420_ForwardedContentToken = -1;
609 static gint ett_x420_ForwardedContentToken_item = -1;
610 static gint ett_x420_T_body_part_token_choice = -1;
611 static gint ett_x420_T_choice = -1;
613 /*--- End of included file: packet-x420-ett.c ---*/
614 #line 94 "packet-x420-template.c"
617 /*--- Included file: packet-x420-fn.c ---*/
618 #line 1 "packet-x420-fn.c"
619 /*--- Cyclic dependencies ---*/
621 /* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */
622 int dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
624 /* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */
625 static int dissect_x420_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
627 /* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */
628 static int dissect_x420_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
630 /* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */
631 static int dissect_x420_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
637 dissect_x420_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
638 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
646 dissect_x420_LocalIPMIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
647 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
648 actx, tree, tvb, offset, hf_index,
655 static const ber_sequence_t IPMIdentifier_U_set[] = {
656 { &hf_x420_user , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName },
657 { &hf_x420_user_relative_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_LocalIPMIdentifier },
658 { NULL, 0, 0, 0, NULL }
662 dissect_x420_IPMIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
663 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
664 IPMIdentifier_U_set, hf_index, ett_x420_IPMIdentifier_U);
672 dissect_x420_IPMIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
673 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
674 hf_index, BER_CLASS_APP, 11, TRUE, dissect_x420_IPMIdentifier_U);
682 dissect_x420_ThisIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
683 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
691 dissect_x420_FreeFormName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
692 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
693 actx, tree, tvb, offset, hf_index,
702 dissect_x420_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
703 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
704 actx, tree, tvb, offset, hf_index,
711 static const ber_sequence_t ORDescriptor_set[] = {
712 { &hf_x420_formal_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName },
713 { &hf_x420_free_form_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FreeFormName },
714 { &hf_x420_telephone_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_TelephoneNumber },
715 { NULL, 0, 0, 0, NULL }
719 dissect_x420_ORDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
720 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
721 ORDescriptor_set, hf_index, ett_x420_ORDescriptor);
729 dissect_x420_OriginatorField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
730 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
738 dissect_x420_AuthorizingUsersSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
739 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
745 static const ber_sequence_t AuthorizingUsersField_sequence_of[1] = {
746 { &hf_x420_AuthorizingUsersField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_AuthorizingUsersSubfield },
750 dissect_x420_AuthorizingUsersField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
751 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
752 AuthorizingUsersField_sequence_of, hf_index, ett_x420_AuthorizingUsersField);
758 static const asn_namedbit NotificationRequests_bits[] = {
759 { 0, &hf_x420_NotificationRequests_rn, -1, -1, "rn", NULL },
760 { 1, &hf_x420_NotificationRequests_nrn, -1, -1, "nrn", NULL },
761 { 2, &hf_x420_NotificationRequests_ipm_return, -1, -1, "ipm-return", NULL },
762 { 3, &hf_x420_NotificationRequests_an_supported, -1, -1, "an-supported", NULL },
763 { 4, &hf_x420_NotificationRequests_suppress_an, -1, -1, "suppress-an", NULL },
764 { 0, NULL, 0, 0, NULL, NULL }
768 dissect_x420_NotificationRequests(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
769 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
770 NotificationRequests_bits, hf_index, ett_x420_NotificationRequests,
779 dissect_x420_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
780 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
788 dissect_x420_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
790 const char *name = NULL;
792 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
795 name = oid_resolved_from_string(object_identifier_id);
796 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
806 dissect_x420_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
809 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
817 static const ber_sequence_t IPMSExtension_sequence[] = {
818 { &hf_x420_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_T_type },
819 { &hf_x420_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_T_value },
820 { NULL, 0, 0, 0, NULL }
824 dissect_x420_IPMSExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
825 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
826 IPMSExtension_sequence, hf_index, ett_x420_IPMSExtension);
832 static const ber_sequence_t RecipientExtensionsField_set_of[1] = {
833 { &hf_x420_RecipientExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
837 dissect_x420_RecipientExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
838 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
839 RecipientExtensionsField_set_of, hf_index, ett_x420_RecipientExtensionsField);
845 static const ber_sequence_t RecipientSpecifier_set[] = {
846 { &hf_x420_recipient , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
847 { &hf_x420_notification_requests, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationRequests },
848 { &hf_x420_reply_requested, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
849 { &hf_x420_recipient_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RecipientExtensionsField },
850 { NULL, 0, 0, 0, NULL }
854 dissect_x420_RecipientSpecifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
855 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
856 RecipientSpecifier_set, hf_index, ett_x420_RecipientSpecifier);
864 dissect_x420_PrimaryRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
865 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
871 static const ber_sequence_t PrimaryRecipientsField_sequence_of[1] = {
872 { &hf_x420_PrimaryRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_PrimaryRecipientsSubfield },
876 dissect_x420_PrimaryRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
877 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
878 PrimaryRecipientsField_sequence_of, hf_index, ett_x420_PrimaryRecipientsField);
886 dissect_x420_CopyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
887 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
893 static const ber_sequence_t CopyRecipientsField_sequence_of[1] = {
894 { &hf_x420_CopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CopyRecipientsSubfield },
898 dissect_x420_CopyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
899 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
900 CopyRecipientsField_sequence_of, hf_index, ett_x420_CopyRecipientsField);
908 dissect_x420_BlindCopyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
909 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
915 static const ber_sequence_t BlindCopyRecipientsField_sequence_of[1] = {
916 { &hf_x420_BlindCopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BlindCopyRecipientsSubfield },
920 dissect_x420_BlindCopyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
921 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
922 BlindCopyRecipientsField_sequence_of, hf_index, ett_x420_BlindCopyRecipientsField);
930 dissect_x420_RepliedToIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
931 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
939 dissect_x420_ObsoletedIPMsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
940 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
946 static const ber_sequence_t ObsoletedIPMsField_sequence_of[1] = {
947 { &hf_x420_ObsoletedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ObsoletedIPMsSubfield },
951 dissect_x420_ObsoletedIPMsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
952 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
953 ObsoletedIPMsField_sequence_of, hf_index, ett_x420_ObsoletedIPMsField);
961 dissect_x420_RelatedIPMsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
962 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
968 static const ber_sequence_t RelatedIPMsField_sequence_of[1] = {
969 { &hf_x420_RelatedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedIPMsSubfield },
973 dissect_x420_RelatedIPMsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
974 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
975 RelatedIPMsField_sequence_of, hf_index, ett_x420_RelatedIPMsField);
983 dissect_x420_SubjectField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
985 tvbuff_t *subject=NULL;
987 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
988 actx, tree, tvb, offset, hf_index,
992 if(subject && check_col(actx->pinfo->cinfo, COL_INFO))
993 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", tvb_format_text(subject, 0, tvb_length(subject)));
1003 dissect_x420_ExpiryTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1004 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1012 dissect_x420_ReplyTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1013 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1021 dissect_x420_ReplyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1022 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1028 static const ber_sequence_t ReplyRecipientsField_sequence_of[1] = {
1029 { &hf_x420_ReplyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ReplyRecipientsSubfield },
1033 dissect_x420_ReplyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1034 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1035 ReplyRecipientsField_sequence_of, hf_index, ett_x420_ReplyRecipientsField);
1041 static const value_string x420_ImportanceField_vals[] = {
1050 dissect_x420_ImportanceField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1051 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1058 static const value_string x420_SensitivityField_vals[] = {
1061 { 3, "company-confidential" },
1067 dissect_x420_SensitivityField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1068 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1077 dissect_x420_AutoForwardedField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1078 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1084 static const ber_sequence_t ExtensionsField_set_of[1] = {
1085 { &hf_x420_ExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1089 dissect_x420_ExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1090 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1091 ExtensionsField_set_of, hf_index, ett_x420_ExtensionsField);
1097 static const ber_sequence_t Heading_set[] = {
1098 { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField },
1099 { &hf_x420_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginatorField },
1100 { &hf_x420_authorizing_users, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AuthorizingUsersField },
1101 { &hf_x420_primary_recipients, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_PrimaryRecipientsField },
1102 { &hf_x420_copy_recipients, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CopyRecipientsField },
1103 { &hf_x420_blind_copy_recipients, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BlindCopyRecipientsField },
1104 { &hf_x420_replied_to_IPM , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RepliedToIPMField },
1105 { &hf_x420_obsoleted_IPMs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ObsoletedIPMsField },
1106 { &hf_x420_related_IPMs , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedIPMsField },
1107 { &hf_x420_subject , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_x420_SubjectField },
1108 { &hf_x420_expiry_time , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExpiryTimeField },
1109 { &hf_x420_reply_time , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyTimeField },
1110 { &hf_x420_reply_recipients, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyRecipientsField },
1111 { &hf_x420_importance , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ImportanceField },
1112 { &hf_x420_sensitivity , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SensitivityField },
1113 { &hf_x420_auto_forwarded , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardedField },
1114 { &hf_x420_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField },
1115 { NULL, 0, 0, 0, NULL }
1119 dissect_x420_Heading(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1120 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1121 Heading_set, hf_index, ett_x420_Heading);
1127 static const value_string x420_Repertoire_vals[] = {
1135 dissect_x420_Repertoire(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1136 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1143 static const ber_sequence_t IA5TextParameters_set[] = {
1144 { &hf_x420_repertoire , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Repertoire },
1145 { NULL, 0, 0, 0, NULL }
1149 dissect_x420_IA5TextParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1150 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1151 IA5TextParameters_set, hf_index, ett_x420_IA5TextParameters);
1159 dissect_x420_IA5TextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1160 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1161 actx, tree, tvb, offset, hf_index,
1168 static const ber_sequence_t IA5TextBodyPart_sequence[] = {
1169 { &hf_x420_ia5text_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextParameters },
1170 { &hf_x420_ia5text_data , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextData },
1171 { NULL, 0, 0, 0, NULL }
1175 dissect_x420_IA5TextBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1176 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1177 IA5TextBodyPart_sequence, hf_index, ett_x420_IA5TextBodyPart);
1185 dissect_x420_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1186 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1193 static const ber_sequence_t G3FacsimileParameters_set[] = {
1194 { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
1195 { &hf_x420_g3facsimile_non_basic_parameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters },
1196 { NULL, 0, 0, 0, NULL }
1200 dissect_x420_G3FacsimileParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1201 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1202 G3FacsimileParameters_set, hf_index, ett_x420_G3FacsimileParameters);
1210 dissect_x420_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1211 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1219 static const ber_sequence_t G3FacsimileData_sequence_of[1] = {
1220 { &hf_x420_G3FacsimileData_item, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
1224 dissect_x420_G3FacsimileData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1225 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1226 G3FacsimileData_sequence_of, hf_index, ett_x420_G3FacsimileData);
1232 static const ber_sequence_t G3FacsimileBodyPart_sequence[] = {
1233 { &hf_x420_g3facsimile_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileParameters },
1234 { &hf_x420_g3facsimile_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileData },
1235 { NULL, 0, 0, 0, NULL }
1239 dissect_x420_G3FacsimileBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1240 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1241 G3FacsimileBodyPart_sequence, hf_index, ett_x420_G3FacsimileBodyPart);
1249 dissect_x420_Interchange_Data_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1250 #line 256 "x420.cnf"
1251 /* XXX Not implemented yet */
1259 static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = {
1260 { &hf_x420_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
1264 dissect_x420_G4Class1BodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1265 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1266 G4Class1BodyPart_sequence_of, hf_index, ett_x420_G4Class1BodyPart);
1272 static const ber_sequence_t TeletexParameters_set[] = {
1273 { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
1274 { &hf_x420_telex_compatible, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
1275 { &hf_x420_teletex_non_basic_parameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters },
1276 { NULL, 0, 0, 0, NULL }
1280 dissect_x420_TeletexParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1281 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1282 TeletexParameters_set, hf_index, ett_x420_TeletexParameters);
1290 dissect_x420_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1291 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1292 actx, tree, tvb, offset, hf_index,
1299 static const ber_sequence_t TeletexData_sequence_of[1] = {
1300 { &hf_x420_TeletexData_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexString },
1304 dissect_x420_TeletexData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1305 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1306 TeletexData_sequence_of, hf_index, ett_x420_TeletexData);
1312 static const ber_sequence_t TeletexBodyPart_sequence[] = {
1313 { &hf_x420_teletex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexParameters },
1314 { &hf_x420_teletex_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexData },
1315 { NULL, 0, 0, 0, NULL }
1319 dissect_x420_TeletexBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1320 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1321 TeletexBodyPart_sequence, hf_index, ett_x420_TeletexBodyPart);
1327 static const value_string x420_VideotexSyntax_vals[] = {
1329 { 1, "data-syntax1" },
1330 { 2, "data-syntax2" },
1331 { 3, "data-syntax3" },
1337 dissect_x420_VideotexSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1338 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1345 static const ber_sequence_t VideotexParameters_set[] = {
1346 { &hf_x420_syntax , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_VideotexSyntax },
1347 { NULL, 0, 0, 0, NULL }
1351 dissect_x420_VideotexParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1352 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1353 VideotexParameters_set, hf_index, ett_x420_VideotexParameters);
1361 dissect_x420_VideotexData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1362 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString,
1363 actx, tree, tvb, offset, hf_index,
1370 static const ber_sequence_t VideotexBodyPart_sequence[] = {
1371 { &hf_x420_videotex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexParameters },
1372 { &hf_x420_videotex_data , BER_CLASS_UNI, BER_UNI_TAG_VideotexString, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexData },
1373 { NULL, 0, 0, 0, NULL }
1377 dissect_x420_VideotexBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1378 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1379 VideotexBodyPart_sequence, hf_index, ett_x420_VideotexBodyPart);
1385 static const ber_sequence_t EncryptedParameters_set[] = {
1386 { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1387 { &hf_x420_originator_certificates, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedCertificates },
1388 { NULL, 0, 0, 0, NULL }
1392 dissect_x420_EncryptedParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1393 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1394 EncryptedParameters_set, hf_index, ett_x420_EncryptedParameters);
1402 dissect_x420_EncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1403 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1411 static const ber_sequence_t EncryptedBodyPart_sequence[] = {
1412 { &hf_x420_encrypted_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedParameters },
1413 { &hf_x420_encrypted_data , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedData },
1414 { NULL, 0, 0, 0, NULL }
1418 dissect_x420_EncryptedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1419 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1420 EncryptedBodyPart_sequence, hf_index, ett_x420_EncryptedBodyPart);
1426 static const ber_sequence_t MessageParameters_set[] = {
1427 { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
1428 { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
1429 { NULL, 0, 0, 0, NULL }
1433 dissect_x420_MessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1434 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1435 MessageParameters_set, hf_index, ett_x420_MessageParameters);
1443 dissect_x420_MessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1444 offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1450 static const ber_sequence_t MessageBodyPart_sequence[] = {
1451 { &hf_x420_message_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_MessageParameters },
1452 { &hf_x420_message_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_MessageData },
1453 { NULL, 0, 0, 0, NULL }
1457 dissect_x420_MessageBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1458 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1459 MessageBodyPart_sequence, hf_index, ett_x420_MessageBodyPart);
1465 static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = {
1466 { &hf_x420_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
1470 dissect_x420_MixedModeBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1471 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1472 MixedModeBodyPart_sequence_of, hf_index, ett_x420_MixedModeBodyPart);
1480 dissect_x420_BilaterallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1481 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1490 dissect_x420_NationallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1491 #line 259 "x420.cnf"
1492 /* XXX Not implemented yet */
1500 static const value_string x420_T_basic_vals[] = {
1502 { 3, "g3-facsimile" },
1508 { 11, "mixed-mode" },
1509 { 14, "bilaterally-defined" },
1510 { 7, "nationally-defined" },
1514 static const ber_choice_t T_basic_choice[] = {
1515 { 0, &hf_x420_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IA5TextBodyPart },
1516 { 3, &hf_x420_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_G3FacsimileBodyPart },
1517 { 4, &hf_x420_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_G4Class1BodyPart },
1518 { 5, &hf_x420_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x420_TeletexBodyPart },
1519 { 6, &hf_x420_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x420_VideotexBodyPart },
1520 { 8, &hf_x420_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_EncryptedBodyPart },
1521 { 9, &hf_x420_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPart },
1522 { 11, &hf_x420_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_x420_MixedModeBodyPart },
1523 { 14, &hf_x420_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_x420_BilaterallyDefinedBodyPart },
1524 { 7, &hf_x420_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x420_NationallyDefinedBodyPart },
1525 { 0, NULL, 0, 0, 0, NULL }
1529 dissect_x420_T_basic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1530 offset = dissect_ber_choice(actx, tree, tvb, offset,
1531 T_basic_choice, hf_index, ett_x420_T_basic,
1540 dissect_x420_INSTANCE_OF(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1541 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
1547 static const ber_sequence_t ExtendedBodyPart_sequence[] = {
1548 { &hf_x420_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
1549 { &hf_x420_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_INSTANCE_OF },
1550 { NULL, 0, 0, 0, NULL }
1554 dissect_x420_ExtendedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1555 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1556 ExtendedBodyPart_sequence, hf_index, ett_x420_ExtendedBodyPart);
1562 static const value_string x420_BodyPart_vals[] = {
1568 static const ber_choice_t BodyPart_choice[] = {
1569 { 0, &hf_x420_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x420_T_basic },
1570 { 1, &hf_x420_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_x420_ExtendedBodyPart },
1571 { 0, NULL, 0, 0, 0, NULL }
1575 dissect_x420_BodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1576 offset = dissect_ber_choice(actx, tree, tvb, offset,
1577 BodyPart_choice, hf_index, ett_x420_BodyPart,
1584 static const ber_sequence_t Body_sequence_of[1] = {
1585 { &hf_x420_Body_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart },
1589 dissect_x420_Body(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1590 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1591 Body_sequence_of, hf_index, ett_x420_Body);
1597 static const ber_sequence_t IPM_sequence[] = {
1598 { &hf_x420_heading , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_Heading },
1599 { &hf_x420_body , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Body },
1600 { NULL, 0, 0, 0, NULL }
1604 dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605 #line 220 "x420.cnf"
1607 if(check_col(actx->pinfo->cinfo, COL_INFO))
1608 col_append_str(actx->pinfo->cinfo, COL_INFO, " Message");
1610 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1611 IPM_sequence, hf_index, ett_x420_IPM);
1623 dissect_x420_SubjectIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1624 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1632 dissect_x420_IPNOriginatorField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1633 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1641 dissect_x420_IPMIntendedRecipientField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1642 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1650 dissect_x420_ConversionEITsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1651 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
1657 static const ber_sequence_t NotificationExtensionsField_set_of[1] = {
1658 { &hf_x420_NotificationExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1662 dissect_x420_NotificationExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1663 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1664 NotificationExtensionsField_set_of, hf_index, ett_x420_NotificationExtensionsField);
1670 const value_string x420_NonReceiptReasonField_vals[] = {
1671 { 0, "ipm-discarded" },
1672 { 1, "ipm-auto-forwarded" },
1678 dissect_x420_NonReceiptReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1679 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1686 const value_string x420_DiscardReasonField_vals[] = {
1687 { 0, "ipm-expired" },
1688 { 1, "ipm-obsoleted" },
1689 { 2, "user-subscription-terminated" },
1696 dissect_x420_DiscardReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1697 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1706 dissect_x420_AutoForwardComment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1707 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1708 actx, tree, tvb, offset, hf_index,
1717 dissect_x420_AutoForwardCommentField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1718 offset = dissect_x420_AutoForwardComment(implicit_tag, tvb, offset, actx, tree, hf_index);
1726 dissect_x420_ReturnedIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1727 offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1733 static const ber_sequence_t NRNExtensionsField_set_of[1] = {
1734 { &hf_x420_NRNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1738 dissect_x420_NRNExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1739 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1740 NRNExtensionsField_set_of, hf_index, ett_x420_NRNExtensionsField);
1746 static const ber_sequence_t NonReceiptFields_set[] = {
1747 { &hf_x420_non_receipt_reason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptReasonField },
1748 { &hf_x420_discard_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DiscardReasonField },
1749 { &hf_x420_auto_forward_comment, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardCommentField },
1750 { &hf_x420_returned_ipm , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReturnedIPMField },
1751 { &hf_x420_nrn_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NRNExtensionsField },
1752 { NULL, 0, 0, 0, NULL }
1756 dissect_x420_NonReceiptFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1757 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1758 NonReceiptFields_set, hf_index, ett_x420_NonReceiptFields);
1766 dissect_x420_ReceiptTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1767 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1773 static const value_string x420_AcknowledgmentModeField_vals[] = {
1781 dissect_x420_AcknowledgmentModeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1782 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1791 dissect_x420_SupplReceiptInfoField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1792 offset = dissect_x411_SupplementaryInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
1798 static const ber_sequence_t RNExtensionsField_set_of[1] = {
1799 { &hf_x420_RNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1803 dissect_x420_RNExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1804 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1805 RNExtensionsField_set_of, hf_index, ett_x420_RNExtensionsField);
1811 static const ber_sequence_t ReceiptFields_set[] = {
1812 { &hf_x420_receipt_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptTimeField },
1813 { &hf_x420_acknowledgment_mode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AcknowledgmentModeField },
1814 { &hf_x420_suppl_receipt_info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SupplReceiptInfoField },
1815 { &hf_x420_rn_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RNExtensionsField },
1816 { NULL, 0, 0, 0, NULL }
1820 dissect_x420_ReceiptFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1821 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1822 ReceiptFields_set, hf_index, ett_x420_ReceiptFields);
1828 static const ber_sequence_t OtherNotificationTypeFields_set_of[1] = {
1829 { &hf_x420_OtherNotificationTypeFields_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1833 dissect_x420_OtherNotificationTypeFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1834 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1835 OtherNotificationTypeFields_set_of, hf_index, ett_x420_OtherNotificationTypeFields);
1841 static const value_string x420_T_choice_vals[] = {
1842 { 0, "non-receipt-fields" },
1843 { 1, "receipt-fields" },
1844 { 2, "other-notification-type-fields" },
1848 static const ber_choice_t T_choice_choice[] = {
1849 { 0, &hf_x420_non_receipt_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptFields },
1850 { 1, &hf_x420_receipt_fields , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptFields },
1851 { 2, &hf_x420_other_notification_type_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_OtherNotificationTypeFields },
1852 { 0, NULL, 0, 0, 0, NULL }
1856 dissect_x420_T_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1857 offset = dissect_ber_choice(actx, tree, tvb, offset,
1858 T_choice_choice, hf_index, ett_x420_T_choice,
1865 static const ber_sequence_t IPN_set[] = {
1866 { &hf_x420_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_SubjectIPMField },
1867 { &hf_x420_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPNOriginatorField },
1868 { &hf_x420_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPMIntendedRecipientField },
1869 { &hf_x420_conversion_eits, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_ConversionEITsField },
1870 { &hf_x420_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationExtensionsField },
1871 { &hf_x420_choice , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_choice },
1872 { NULL, 0, 0, 0, NULL }
1876 dissect_x420_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1877 #line 228 "x420.cnf"
1879 if(check_col(actx->pinfo->cinfo, COL_INFO))
1880 col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification");
1882 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1883 IPN_set, hf_index, ett_x420_IPN);
1892 const value_string x420_InformationObject_vals[] = {
1898 static const ber_choice_t InformationObject_choice[] = {
1899 { 0, &hf_x420_ipm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IPM },
1900 { 1, &hf_x420_ipn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPN },
1901 { 0, NULL, 0, 0, 0, NULL }
1905 dissect_x420_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1906 offset = dissect_ber_choice(actx, tree, tvb, offset,
1907 InformationObject_choice, hf_index, ett_x420_InformationObject,
1914 static const ber_sequence_t CommonFields_set[] = {
1915 { &hf_x420_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_SubjectIPMField },
1916 { &hf_x420_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPNOriginatorField },
1917 { &hf_x420_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPMIntendedRecipientField },
1918 { &hf_x420_conversion_eits, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_ConversionEITsField },
1919 { &hf_x420_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationExtensionsField },
1920 { NULL, 0, 0, 0, NULL }
1924 dissect_x420_CommonFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1925 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1926 CommonFields_set, hf_index, ett_x420_CommonFields);
1932 static const ber_sequence_t AbsenceAdvice_sequence[] = {
1933 { &hf_x420_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart },
1934 { &hf_x420_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_Time },
1935 { NULL, 0, 0, 0, NULL }
1939 dissect_x420_AbsenceAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1940 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1941 AbsenceAdvice_sequence, hf_index, ett_x420_AbsenceAdvice);
1947 static const ber_sequence_t ChangeOfAddressAdvice_sequence[] = {
1948 { &hf_x420_new_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
1949 { &hf_x420_effective_from , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Time },
1950 { NULL, 0, 0, 0, NULL }
1954 dissect_x420_ChangeOfAddressAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1955 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1956 ChangeOfAddressAdvice_sequence, hf_index, ett_x420_ChangeOfAddressAdvice);
1964 dissect_x420_INTEGER_1_MAX(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1965 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1974 dissect_x420_BodyPartNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1975 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1982 static const ber_sequence_t T_stored_body_part_sequence[] = {
1983 { &hf_x420_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
1984 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
1985 { NULL, 0, 0, 0, NULL }
1989 dissect_x420_T_stored_body_part(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1990 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1991 T_stored_body_part_sequence, hf_index, ett_x420_T_stored_body_part);
1997 static const value_string x420_BodyPartReference_vals[] = {
1998 { 0, "stored-entry" },
1999 { 1, "stored-content" },
2000 { 2, "submitted-body-part" },
2001 { 3, "stored-body-part" },
2005 static const ber_choice_t BodyPartReference_choice[] = {
2006 { 0, &hf_x420_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2007 { 1, &hf_x420_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2008 { 2, &hf_x420_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER_1_MAX },
2009 { 3, &hf_x420_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_T_stored_body_part },
2010 { 0, NULL, 0, 0, 0, NULL }
2014 dissect_x420_BodyPartReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2015 offset = dissect_ber_choice(actx, tree, tvb, offset,
2016 BodyPartReference_choice, hf_index, ett_x420_BodyPartReference,
2023 static const ber_sequence_t BodyPartReferences_sequence_of[1] = {
2024 { &hf_x420_BodyPartReferences_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartReference },
2028 dissect_x420_BodyPartReferences(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2029 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2030 BodyPartReferences_sequence_of, hf_index, ett_x420_BodyPartReferences);
2036 static const ber_sequence_t IPMAssemblyInstructions_set[] = {
2037 { &hf_x420_assembly_instructions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartReferences },
2038 { NULL, 0, 0, 0, NULL }
2042 dissect_x420_IPMAssemblyInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2043 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2044 IPMAssemblyInstructions_set, hf_index, ett_x420_IPMAssemblyInstructions);
2052 dissect_x420_IncompleteCopy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2053 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2061 dissect_x420_Language(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2062 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2063 actx, tree, tvb, offset, hf_index,
2070 static const ber_sequence_t Languages_set_of[1] = {
2071 { &hf_x420_Languages_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_Language },
2075 dissect_x420_Languages(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2076 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2077 Languages_set_of, hf_index, ett_x420_Languages);
2083 static const value_string x420_AutoSubmitted_vals[] = {
2084 { 0, "not-auto-submitted" },
2085 { 1, "auto-generated" },
2086 { 2, "auto-replied" },
2092 dissect_x420_AutoSubmitted(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2093 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2100 static const ber_sequence_t Signature_sequence[] = {
2101 { &hf_x420_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2102 { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
2103 { NULL, 0, 0, 0, NULL }
2107 dissect_x420_Signature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2108 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2109 Signature_sequence, hf_index, ett_x420_Signature);
2117 dissect_x420_BodyPartSignature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2118 offset = dissect_x420_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
2124 static const ber_sequence_t BodyPartSignatures_item_set[] = {
2125 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
2126 { &hf_x420_body_part_signature, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignature },
2127 { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
2128 { &hf_x420_originator_certificates, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates },
2129 { NULL, 0, 0, 0, NULL }
2133 dissect_x420_BodyPartSignatures_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2134 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2135 BodyPartSignatures_item_set, hf_index, ett_x420_BodyPartSignatures_item);
2141 static const ber_sequence_t BodyPartSignatures_set_of[1] = {
2142 { &hf_x420_BodyPartSignatures_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatures_item },
2146 dissect_x420_BodyPartSignatures(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2147 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2148 BodyPartSignatures_set_of, hf_index, ett_x420_BodyPartSignatures);
2156 dissect_x420_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2157 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2163 static const value_string x420_BodyPartSecurityLabel_vals[] = {
2164 { 0, "body-part-unlabelled" },
2165 { 1, "body-part-security-label" },
2169 static const ber_choice_t BodyPartSecurityLabel_choice[] = {
2170 { 0, &hf_x420_body_part_unlabelled, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
2171 { 1, &hf_x420_body_part_security_label, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2172 { 0, NULL, 0, 0, 0, NULL }
2176 dissect_x420_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2177 offset = dissect_ber_choice(actx, tree, tvb, offset,
2178 BodyPartSecurityLabel_choice, hf_index, ett_x420_BodyPartSecurityLabel,
2185 static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = {
2186 { &hf_x420_body_part_security_labels_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSecurityLabel },
2190 dissect_x420_SEQUENCE_OF_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2191 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2192 SEQUENCE_OF_BodyPartSecurityLabel_sequence_of, hf_index, ett_x420_SEQUENCE_OF_BodyPartSecurityLabel);
2198 static const ber_sequence_t IPMSecurityLabel_sequence[] = {
2199 { &hf_x420_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2200 { &hf_x420_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2201 { &hf_x420_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_BodyPartSecurityLabel },
2202 { NULL, 0, 0, 0, NULL }
2206 dissect_x420_IPMSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2207 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2208 IPMSecurityLabel_sequence, hf_index, ett_x420_IPMSecurityLabel);
2216 dissect_x420_AuthorizationTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2217 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2225 dissect_x420_CirculationTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2226 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2234 dissect_x420_CirculationSignatureAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2235 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
2241 static const ber_sequence_t CirculationSignatureData_sequence[] = {
2242 { &hf_x420_circulation_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureAlgorithmIdentifier },
2243 { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField },
2244 { &hf_x420_timestamp , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime },
2245 { NULL, 0, 0, 0, NULL }
2249 dissect_x420_CirculationSignatureData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2250 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2251 CirculationSignatureData_sequence, hf_index, ett_x420_CirculationSignatureData);
2257 static const ber_sequence_t CirculationSignature_sequence[] = {
2258 { &hf_x420_circulation_signature_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureData },
2259 { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2260 { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
2261 { NULL, 0, 0, 0, NULL }
2265 dissect_x420_CirculationSignature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2266 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2267 CirculationSignature_sequence, hf_index, ett_x420_CirculationSignature);
2273 static const value_string x420_Checkmark_vals[] = {
2275 { 1, "timestamped" },
2280 static const ber_choice_t Checkmark_choice[] = {
2281 { 0, &hf_x420_simple , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL },
2282 { 1, &hf_x420_timestamped , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime },
2283 { 2, &hf_x420_signed , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignature },
2284 { 0, NULL, 0, 0, 0, NULL }
2288 dissect_x420_Checkmark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2289 offset = dissect_ber_choice(actx, tree, tvb, offset,
2290 Checkmark_choice, hf_index, ett_x420_Checkmark,
2297 static const ber_sequence_t CirculationMember_set[] = {
2298 { &hf_x420_circulation_recipient, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_RecipientSpecifier },
2299 { &hf_x420_checked , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Checkmark },
2300 { NULL, 0, 0, 0, NULL }
2304 dissect_x420_CirculationMember(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2305 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2306 CirculationMember_set, hf_index, ett_x420_CirculationMember);
2312 static const ber_sequence_t CirculationList_sequence_of[1] = {
2313 { &hf_x420_CirculationList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationMember },
2317 dissect_x420_CirculationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2318 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2319 CirculationList_sequence_of, hf_index, ett_x420_CirculationList);
2327 dissect_x420_CirculationListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2328 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2336 dissect_x420_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2337 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2345 dissect_x420_AlphaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2346 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2352 static const ber_sequence_t DistributionCode_sequence[] = {
2353 { &hf_x420_oid_code , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_OBJECT_IDENTIFIER },
2354 { &hf_x420_alphanumeric_code, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_AlphaCode },
2355 { &hf_x420_or_descriptor , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
2356 { NULL, 0, 0, 0, NULL }
2360 dissect_x420_DistributionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2361 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2362 DistributionCode_sequence, hf_index, ett_x420_DistributionCode);
2368 static const ber_sequence_t DistributionCodes_sequence_of[1] = {
2369 { &hf_x420_DistributionCodes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_DistributionCode },
2373 dissect_x420_DistributionCodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2374 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2375 DistributionCodes_sequence_of, hf_index, ett_x420_DistributionCodes);
2383 dissect_x420_ExtendedSubject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2384 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2392 dissect_x420_DescriptionString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2393 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2399 static const ber_sequence_t InformationCategory_sequence[] = {
2400 { &hf_x420_reference , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
2401 { &hf_x420_description , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DescriptionString },
2402 { NULL, 0, 0, 0, NULL }
2406 dissect_x420_InformationCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2407 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2408 InformationCategory_sequence, hf_index, ett_x420_InformationCategory);
2414 static const ber_sequence_t InformationCategories_sequence_of[1] = {
2415 { &hf_x420_InformationCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_InformationCategory },
2419 dissect_x420_InformationCategories(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2420 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2421 InformationCategories_sequence_of, hf_index, ett_x420_InformationCategories);
2429 dissect_x420_ManualHandlingInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2430 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2436 static const ber_sequence_t ManualHandlingInstructions_sequence_of[1] = {
2437 { &hf_x420_ManualHandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ManualHandlingInstruction },
2441 dissect_x420_ManualHandlingInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2442 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2443 ManualHandlingInstructions_sequence_of, hf_index, ett_x420_ManualHandlingInstructions);
2451 dissect_x420_OriginatorsReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2452 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2460 dissect_x420_PrecedencePolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2461 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2469 dissect_x420_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2470 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2479 dissect_x420_CharacterSetRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2480 #line 249 "x420.cnf"
2482 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2486 if(actx->created_item)
2487 proto_item_append_text(actx->created_item, " (%s)", val_to_str(crs, charsetreg_vals, "unknown"));
2495 static const ber_sequence_t GeneralTextParameters_set_of[1] = {
2496 { &hf_x420_GeneralTextParameters_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_CharacterSetRegistration },
2500 dissect_x420_GeneralTextParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2501 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2502 GeneralTextParameters_set_of, hf_index, ett_x420_GeneralTextParameters);
2510 dissect_x420_GeneralTextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2511 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
2512 actx, tree, tvb, offset, hf_index,
2519 static const value_string x420_Pathname_Attribute_vals[] = {
2520 { 0, "incomplete-pathname" },
2521 { 23, "complete-pathname" },
2525 static const ber_choice_t Pathname_Attribute_choice[] = {
2526 { 0, &hf_x420_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2527 { 23, &hf_x420_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2528 { 0, NULL, 0, 0, 0, NULL }
2532 dissect_x420_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2533 offset = dissect_ber_choice(actx, tree, tvb, offset,
2534 Pathname_Attribute_choice, hf_index, ett_x420_Pathname_Attribute,
2543 dissect_x420_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2544 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2545 actx, tree, tvb, offset, hf_index,
2552 static const ber_sequence_t PathnameandVersion_sequence[] = {
2553 { &hf_x420_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute },
2554 { &hf_x420_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_GraphicString },
2555 { NULL, 0, 0, 0, NULL }
2559 dissect_x420_PathnameandVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2560 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2561 PathnameandVersion_sequence, hf_index, ett_x420_PathnameandVersion);
2569 dissect_x420_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2570 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2579 dissect_x420_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2580 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2581 actx, tree, tvb, offset, hf_index,
2588 static const ber_sequence_t MessageReference_set[] = {
2589 { &hf_x420_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ORName },
2590 { &hf_x420_user_relative_identifier_ref, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_PrintableString },
2591 { NULL, 0, 0, 0, NULL }
2595 dissect_x420_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2596 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2597 MessageReference_set, hf_index, ett_x420_MessageReference);
2603 static const ber_sequence_t CrossReference_sequence[] = {
2604 { &hf_x420_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OCTET_STRING },
2605 { &hf_x420_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_MessageReference },
2606 { &hf_x420_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
2607 { NULL, 0, 0, 0, NULL }
2611 dissect_x420_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2612 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2613 CrossReference_sequence, hf_index, ett_x420_CrossReference);
2619 static const value_string x420_FileIdentifier_vals[] = {
2620 { 0, "pathname-and-version" },
2621 { 1, "cross-reference" },
2625 static const ber_choice_t FileIdentifier_choice[] = {
2626 { 0, &hf_x420_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_PathnameandVersion },
2627 { 1, &hf_x420_cross_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_CrossReference },
2628 { 0, NULL, 0, 0, 0, NULL }
2632 dissect_x420_FileIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2633 offset = dissect_ber_choice(actx, tree, tvb, offset,
2634 FileIdentifier_choice, hf_index, ett_x420_FileIdentifier,
2641 static const value_string x420_ExplicitRelationship_vals[] = {
2642 { 0, "unspecified" },
2644 { 2, "replacement" },
2651 dissect_x420_ExplicitRelationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2652 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2659 static const value_string x420_Relationship_vals[] = {
2660 { 0, "explicit-relationship" },
2661 { 1, "descriptive-relationship" },
2665 static const ber_choice_t Relationship_choice[] = {
2666 { 0, &hf_x420_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ExplicitRelationship },
2667 { 1, &hf_x420_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_GraphicString },
2668 { 0, NULL, 0, 0, 0, NULL }
2672 dissect_x420_Relationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2673 offset = dissect_ber_choice(actx, tree, tvb, offset,
2674 Relationship_choice, hf_index, ett_x420_Relationship,
2681 static const ber_sequence_t RelatedStoredFile_item_sequence[] = {
2682 { &hf_x420_file_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_FileIdentifier },
2683 { &hf_x420_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Relationship },
2684 { NULL, 0, 0, 0, NULL }
2688 dissect_x420_RelatedStoredFile_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2689 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2690 RelatedStoredFile_item_sequence, hf_index, ett_x420_RelatedStoredFile_item);
2696 static const ber_sequence_t RelatedStoredFile_set_of[1] = {
2697 { &hf_x420_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedStoredFile_item },
2701 dissect_x420_RelatedStoredFile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2702 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2703 RelatedStoredFile_set_of, hf_index, ett_x420_RelatedStoredFile);
2711 dissect_x420_Document_Type_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2712 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2720 dissect_x420_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2721 #line 262 "x420.cnf"
2722 /* XXX: Not implemented yet */
2730 static const ber_sequence_t T_document_type_sequence[] = {
2731 { &hf_x420_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Document_Type_Name },
2732 { &hf_x420_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_parameter },
2733 { NULL, 0, 0, 0, NULL }
2737 dissect_x420_T_document_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2738 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2739 T_document_type_sequence, hf_index, ett_x420_T_document_type);
2747 dissect_x420_Constraint_Set_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2748 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2756 dissect_x420_Abstract_Syntax_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2757 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2763 static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = {
2764 { &hf_x420_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Constraint_Set_Name },
2765 { &hf_x420_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Abstract_Syntax_Name },
2766 { NULL, 0, 0, 0, NULL }
2770 dissect_x420_T_constraint_set_and_abstract_syntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2771 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2772 T_constraint_set_and_abstract_syntax_sequence, hf_index, ett_x420_T_constraint_set_and_abstract_syntax);
2778 static const value_string x420_Contents_Type_Attribute_vals[] = {
2779 { 0, "document-type" },
2780 { 1, "constraint-set-and-abstract-syntax" },
2784 static const ber_choice_t Contents_Type_Attribute_choice[] = {
2785 { 0, &hf_x420_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_document_type },
2786 { 1, &hf_x420_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_constraint_set_and_abstract_syntax },
2787 { 0, NULL, 0, 0, 0, NULL }
2791 dissect_x420_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2792 offset = dissect_ber_choice(actx, tree, tvb, offset,
2793 Contents_Type_Attribute_choice, hf_index, ett_x420_Contents_Type_Attribute,
2802 dissect_x420_ContentsTypeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2803 offset = dissect_x420_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index);
2809 static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = {
2810 { &hf_x420_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
2814 dissect_x420_T_descriptive_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2815 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2816 T_descriptive_identifier_sequence_of, hf_index, ett_x420_T_descriptive_identifier);
2822 static const value_string x420_GeneralIdentifier_vals[] = {
2823 { 0, "registered-identifier" },
2824 { 1, "descriptive-identifier" },
2828 static const ber_choice_t GeneralIdentifier_choice[] = {
2829 { 0, &hf_x420_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
2830 { 1, &hf_x420_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_descriptive_identifier },
2831 { 0, NULL, 0, 0, 0, NULL }
2835 dissect_x420_GeneralIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2836 offset = dissect_ber_choice(actx, tree, tvb, offset,
2837 GeneralIdentifier_choice, hf_index, ett_x420_GeneralIdentifier,
2844 static const ber_sequence_t T_user_visible_string_sequence_of[1] = {
2845 { &hf_x420_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
2849 dissect_x420_T_user_visible_string(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2850 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2851 T_user_visible_string_sequence_of, hf_index, ett_x420_T_user_visible_string);
2857 static const ber_sequence_t EnvironmentParameter_sequence[] = {
2858 { &hf_x420_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier },
2859 { &hf_x420_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier },
2860 { &hf_x420_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
2861 { &hf_x420_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_user_visible_string },
2862 { NULL, 0, 0, 0, NULL }
2866 dissect_x420_EnvironmentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2867 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2868 EnvironmentParameter_sequence, hf_index, ett_x420_EnvironmentParameter);
2876 dissect_x420_T_compression_algorithm_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2877 #line 265 "x420.cnf"
2878 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2888 dissect_x420_T_compression_algorithm_param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2889 #line 268 "x420.cnf"
2890 /* XXX: Not implemented yet */
2898 static const ber_sequence_t CompressionParameter_sequence[] = {
2899 { &hf_x420_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_id },
2900 { &hf_x420_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_param },
2901 { NULL, 0, 0, 0, NULL }
2905 dissect_x420_CompressionParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2906 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2907 CompressionParameter_sequence, hf_index, ett_x420_CompressionParameter);
2915 dissect_x420_Account(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2916 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2917 actx, tree, tvb, offset, hf_index,
2924 static const value_string x420_Account_Attribute_vals[] = {
2925 { 0, "no-value-available" },
2926 { 1, "actual-values" },
2930 static const ber_choice_t Account_Attribute_choice[] = {
2931 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
2932 { 1, &hf_x420_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_Account },
2933 { 0, NULL, 0, 0, 0, NULL }
2937 dissect_x420_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2938 offset = dissect_ber_choice(actx, tree, tvb, offset,
2939 Account_Attribute_choice, hf_index, ett_x420_Account_Attribute,
2948 dissect_x420_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2949 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2950 actx, tree, tvb, offset, hf_index,
2957 static const value_string x420_User_Identity_Attribute_vals[] = {
2958 { 0, "no-value-available" },
2959 { 1, "actual-values" },
2963 static const ber_choice_t User_Identity_Attribute_choice[] = {
2964 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
2965 { 1, &hf_x420_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_User_Identity },
2966 { 0, NULL, 0, 0, 0, NULL }
2970 dissect_x420_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2971 offset = dissect_ber_choice(actx, tree, tvb, offset,
2972 User_Identity_Attribute_choice, hf_index, ett_x420_User_Identity_Attribute,
2979 static const asn_namedbit Access_Request_bits[] = {
2980 { 0, &hf_x420_Access_Request_read, -1, -1, "read", NULL },
2981 { 1, &hf_x420_Access_Request_insert, -1, -1, "insert", NULL },
2982 { 2, &hf_x420_Access_Request_replace, -1, -1, "replace", NULL },
2983 { 3, &hf_x420_Access_Request_extend, -1, -1, "extend", NULL },
2984 { 4, &hf_x420_Access_Request_erase, -1, -1, "erase", NULL },
2985 { 5, &hf_x420_Access_Request_read_attribute, -1, -1, "read-attribute", NULL },
2986 { 6, &hf_x420_Access_Request_change_attribute, -1, -1, "change-attribute", NULL },
2987 { 7, &hf_x420_Access_Request_delete_object, -1, -1, "delete-object", NULL },
2988 { 0, NULL, 0, 0, NULL, NULL }
2992 dissect_x420_Access_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2993 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2994 Access_Request_bits, hf_index, ett_x420_Access_Request,
3001 static const value_string x420_Password_vals[] = {
3002 { 0, "graphic-string" },
3003 { 1, "octet-string" },
3007 static const ber_choice_t Password_choice[] = {
3008 { 0, &hf_x420_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
3009 { 1, &hf_x420_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OCTET_STRING },
3010 { 0, NULL, 0, 0, 0, NULL }
3014 dissect_x420_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3015 offset = dissect_ber_choice(actx, tree, tvb, offset,
3016 Password_choice, hf_index, ett_x420_Password,
3023 static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
3024 { &hf_x420_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3028 dissect_x420_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3029 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3030 Pass_Passwords_sequence_of, hf_index, ett_x420_Pass_Passwords);
3036 static const ber_sequence_t Access_Passwords_sequence[] = {
3037 { &hf_x420_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3038 { &hf_x420_insert_password, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3039 { &hf_x420_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3040 { &hf_x420_extend_password, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3041 { &hf_x420_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3042 { &hf_x420_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3043 { &hf_x420_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3044 { &hf_x420_delete_password, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3045 { &hf_x420_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_Pass_Passwords },
3046 { &hf_x420_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3047 { NULL, 0, 0, 0, NULL }
3051 dissect_x420_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3052 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3053 Access_Passwords_sequence, hf_index, ett_x420_Access_Passwords);
3059 static const ber_sequence_t Application_Entity_Title_sequence[] = {
3060 { &hf_x420_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title },
3061 { &hf_x420_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier },
3062 { NULL, 0, 0, 0, NULL }
3066 dissect_x420_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3067 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3068 Application_Entity_Title_sequence, hf_index, ett_x420_Application_Entity_Title);
3074 static const ber_sequence_t Access_Control_Element_sequence[] = {
3075 { &hf_x420_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_Access_Request },
3076 { &hf_x420_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
3077 { &hf_x420_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_User_Identity },
3078 { &hf_x420_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Access_Passwords },
3079 { &hf_x420_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Application_Entity_Title },
3080 { NULL, 0, 0, 0, NULL }
3084 dissect_x420_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3085 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3086 Access_Control_Element_sequence, hf_index, ett_x420_Access_Control_Element);
3092 static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
3093 { &hf_x420_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Access_Control_Element },
3097 dissect_x420_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3098 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3099 SET_OF_Access_Control_Element_set_of, hf_index, ett_x420_SET_OF_Access_Control_Element);
3105 static const value_string x420_Access_Control_Attribute_vals[] = {
3106 { 0, "no-value-available" },
3107 { 1, "actual-values" },
3111 static const ber_choice_t Access_Control_Attribute_choice[] = {
3112 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3113 { 1, &hf_x420_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SET_OF_Access_Control_Element },
3114 { 0, NULL, 0, 0, 0, NULL }
3118 dissect_x420_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3119 offset = dissect_ber_choice(actx, tree, tvb, offset,
3120 Access_Control_Attribute_choice, hf_index, ett_x420_Access_Control_Attribute,
3127 static const ber_sequence_t FileAttributes_sequence[] = {
3128 { &hf_x420_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute },
3129 { &hf_x420_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
3130 { &hf_x420_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Account_Attribute },
3131 { &hf_x420_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3132 { &hf_x420_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3133 { &hf_x420_date_and_time_of_last_read_access, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3134 { &hf_x420_date_and_time_of_last_attribute_modification, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3135 { &hf_x420_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3136 { &hf_x420_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3137 { &hf_x420_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3138 { &hf_x420_identity_of_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3139 { &hf_x420_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute },
3140 { &hf_x420_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3141 { &hf_x420_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3142 { &hf_x420_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Access_Control_Attribute },
3143 { &hf_x420_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute },
3144 { &hf_x420_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute },
3145 { &hf_x420_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
3146 { NULL, 0, 0, 0, NULL }
3150 dissect_x420_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3151 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3152 FileAttributes_sequence, hf_index, ett_x420_FileAttributes);
3158 static const ber_sequence_t FileTransferParameters_sequence[] = {
3159 { &hf_x420_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedStoredFile },
3160 { &hf_x420_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_ContentsTypeParameter },
3161 { &hf_x420_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_EnvironmentParameter },
3162 { &hf_x420_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CompressionParameter },
3163 { &hf_x420_file_attributes, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FileAttributes },
3164 { &hf_x420_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField },
3165 { NULL, 0, 0, 0, NULL }
3169 dissect_x420_FileTransferParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3170 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3171 FileTransferParameters_sequence, hf_index, ett_x420_FileTransferParameters);
3179 dissect_x420_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3180 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
3186 static const ber_sequence_t FileTransferData_sequence_of[1] = {
3187 { &hf_x420_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_EXTERNAL },
3191 dissect_x420_FileTransferData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3192 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3193 FileTransferData_sequence_of, hf_index, ett_x420_FileTransferData);
3201 dissect_x420_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3202 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
3203 actx, tree, tvb, offset, hf_index,
3210 static const ber_sequence_t VoiceParameters_sequence[] = {
3211 { &hf_x420_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3212 { &hf_x420_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3213 { &hf_x420_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IA5String },
3214 { NULL, 0, 0, 0, NULL }
3218 dissect_x420_VoiceParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3219 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3220 VoiceParameters_sequence, hf_index, ett_x420_VoiceParameters);
3228 dissect_x420_VoiceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3229 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3236 static const ber_sequence_t SubmissionProof_set[] = {
3237 { &hf_x420_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProofOfSubmission },
3238 { &hf_x420_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginatingMTACertificate },
3239 { &hf_x420_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope },
3240 { NULL, 0, 0, 0, NULL }
3244 dissect_x420_SubmissionProof(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3245 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3246 SubmissionProof_set, hf_index, ett_x420_SubmissionProof);
3252 static const ber_sequence_t ForwardedContentParameters_set[] = {
3253 { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
3254 { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
3255 { &hf_x420_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryIdentifier },
3256 { &hf_x420_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SubmissionProof },
3257 { NULL, 0, 0, 0, NULL }
3261 dissect_x420_ForwardedContentParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3262 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3263 ForwardedContentParameters_set, hf_index, ett_x420_ForwardedContentParameters);
3269 static const value_string x420_IPMEntryType_vals[] = {
3279 dissect_x420_IPMEntryType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3280 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3287 static const ber_sequence_t MessageBodyPartSynopsis_sequence[] = {
3288 { &hf_x420_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3289 { &hf_x420_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPMSynopsis },
3290 { NULL, 0, 0, 0, NULL }
3294 dissect_x420_MessageBodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3295 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3296 MessageBodyPartSynopsis_sequence, hf_index, ett_x420_MessageBodyPartSynopsis);
3302 static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = {
3303 { &hf_x420_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3304 { &hf_x420_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
3305 { &hf_x420_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3306 { &hf_x420_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
3307 { NULL, 0, 0, 0, NULL }
3311 dissect_x420_NonMessageBodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3312 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3313 NonMessageBodyPartSynopsis_sequence, hf_index, ett_x420_NonMessageBodyPartSynopsis);
3319 static const value_string x420_BodyPartSynopsis_vals[] = {
3321 { 1, "non-message" },
3325 static const ber_choice_t BodyPartSynopsis_choice[] = {
3326 { 0, &hf_x420_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPartSynopsis },
3327 { 1, &hf_x420_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_NonMessageBodyPartSynopsis },
3328 { 0, NULL, 0, 0, 0, NULL }
3332 dissect_x420_BodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3333 offset = dissect_ber_choice(actx, tree, tvb, offset,
3334 BodyPartSynopsis_choice, hf_index, ett_x420_BodyPartSynopsis,
3341 static const ber_sequence_t IPMSynopsis_sequence_of[1] = {
3342 { &hf_x420_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSynopsis },
3346 dissect_x420_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3347 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3348 IPMSynopsis_sequence_of, hf_index, ett_x420_IPMSynopsis);
3354 static const ber_sequence_t BodyPartDescriptor_sequence[] = {
3355 { &hf_x420_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3356 { &hf_x420_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3357 { &hf_x420_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3358 { &hf_x420_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3359 { &hf_x420_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3360 { &hf_x420_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
3361 { NULL, 0, 0, 0, NULL }
3365 dissect_x420_BodyPartDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3366 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3367 BodyPartDescriptor_sequence, hf_index, ett_x420_BodyPartDescriptor);
3373 static const ber_sequence_t BodyPartSignatureVerification_item_set[] = {
3374 { &hf_x420_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartNumber },
3375 { &hf_x420_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus },
3376 { NULL, 0, 0, 0, NULL }
3380 dissect_x420_BodyPartSignatureVerification_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3381 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3382 BodyPartSignatureVerification_item_set, hf_index, ett_x420_BodyPartSignatureVerification_item);
3388 static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = {
3389 { &hf_x420_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatureVerification_item },
3393 dissect_x420_BodyPartSignatureVerification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3394 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3395 BodyPartSignatureVerification_set_of, hf_index, ett_x420_BodyPartSignatureVerification);
3401 static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = {
3402 { &hf_x420_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3406 dissect_x420_SET_OF_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3407 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3408 SET_OF_SequenceNumber_set_of, hf_index, ett_x420_SET_OF_SequenceNumber);
3414 static const value_string x420_IPMLocation_vals[] = {
3420 static const ber_choice_t IPMLocation_choice[] = {
3421 { 0, &hf_x420_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_SET_OF_SequenceNumber },
3422 { 1, &hf_x420_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL },
3423 { 0, NULL, 0, 0, 0, NULL }
3427 dissect_x420_IPMLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3428 offset = dissect_ber_choice(actx, tree, tvb, offset,
3429 IPMLocation_choice, hf_index, ett_x420_IPMLocation,
3436 static const value_string x420_DeliveredReplyStatus_vals[] = {
3437 { 0, "no-reply-requested" },
3438 { 1, "reply-outstanding" },
3439 { 2, "reply-received" },
3445 dissect_x420_DeliveredReplyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3446 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3453 static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = {
3454 { &hf_x420_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3458 dissect_x420_SEQUENCE_OF_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3459 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3460 SEQUENCE_OF_SequenceNumber_sequence_of, hf_index, ett_x420_SEQUENCE_OF_SequenceNumber);
3466 static const value_string x420_CorrelatedDeliveredReplies_vals[] = {
3467 { 0, "no-reply-received" },
3468 { 1, "received-replies" },
3472 static const ber_choice_t CorrelatedDeliveredReplies_choice[] = {
3473 { 0, &hf_x420_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3474 { 1, &hf_x420_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
3475 { 0, NULL, 0, 0, 0, NULL }
3479 dissect_x420_CorrelatedDeliveredReplies(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3480 offset = dissect_ber_choice(actx, tree, tvb, offset,
3481 CorrelatedDeliveredReplies_choice, hf_index, ett_x420_CorrelatedDeliveredReplies,
3488 static const value_string x420_DeliveredIPNStatus_vals[] = {
3489 { 0, "no-ipn-requested" },
3490 { 3, "an-requested" },
3491 { 5, "nrn-requested" },
3492 { 10, "rn-requested" },
3493 { 13, "an-received" },
3494 { 15, "ipm-auto-forwarded" },
3495 { 20, "ipm-discarded" },
3496 { 25, "rn-received" },
3502 dissect_x420_DeliveredIPNStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3503 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3510 static const value_string x420_CorrelatedDeliveredIPNs_vals[] = {
3511 { 0, "no-ipn-received" },
3512 { 1, "ipns-received" },
3516 static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = {
3517 { 0, &hf_x420_no_ipn_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3518 { 1, &hf_x420_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
3519 { 0, NULL, 0, 0, 0, NULL }
3523 dissect_x420_CorrelatedDeliveredIPNs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3524 offset = dissect_ber_choice(actx, tree, tvb, offset,
3525 CorrelatedDeliveredIPNs_choice, hf_index, ett_x420_CorrelatedDeliveredIPNs,
3532 static const value_string x420_SubmittedReplyStatus_vals[] = {
3533 { 0, "no-reply-requested" },
3534 { 1, "no-reply-intended" },
3535 { 2, "reply-pending" },
3536 { 3, "reply-sent" },
3542 dissect_x420_SubmittedReplyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3543 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3550 static const value_string x420_SubmittedIPNStatus_vals[] = {
3551 { 0, "no-ipn-requested" },
3552 { 5, "nrn-requested" },
3553 { 10, "nrn-with-ipm-return-requested" },
3554 { 15, "rn-requested" },
3555 { 20, "rn-with-ipm-return-requested" },
3556 { 25, "ipm-auto-forwarded" },
3557 { 30, "ipm-discarded" },
3564 dissect_x420_SubmittedIPNStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3565 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3572 static const value_string x420_RecipientCategory_vals[] = {
3573 { 0, "primary-recipient" },
3574 { 1, "copy-recipient" },
3575 { 2, "blind-copy-recipient" },
3576 { 3, "category-unknown" },
3577 { 4, "circulation-list" },
3583 dissect_x420_RecipientCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3584 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3591 static const asn_namedbit RecipientSecurityRequest_bits[] = {
3592 { 0, &hf_x420_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL },
3593 { 1, &hf_x420_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL },
3594 { 2, &hf_x420_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL },
3595 { 3, &hf_x420_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL },
3596 { 0, NULL, 0, 0, NULL, NULL }
3600 dissect_x420_RecipientSecurityRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3601 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3602 RecipientSecurityRequest_bits, hf_index, ett_x420_RecipientSecurityRequest,
3611 dissect_x420_OriginalContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3612 offset = dissect_x411_Content(implicit_tag, tvb, offset, actx, tree, hf_index);
3620 dissect_x420_OriginalContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3621 offset = dissect_x411_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3629 dissect_x420_OriginalMessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3630 offset = dissect_x411_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3638 dissect_x420_OriginalMessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3639 offset = dissect_x411_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index);
3645 static const ber_sequence_t T_original_security_arguments_set[] = {
3646 { &hf_x420_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalContentIntegrityCheck },
3647 { &hf_x420_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageOriginAuthenticationCheck },
3648 { &hf_x420_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageToken },
3649 { NULL, 0, 0, 0, NULL }
3653 dissect_x420_T_original_security_arguments(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3654 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3655 T_original_security_arguments_set, hf_index, ett_x420_T_original_security_arguments);
3661 static const value_string x420_T_content_or_arguments_vals[] = {
3662 { 0, "original-content" },
3663 { 1, "original-security-arguments" },
3667 static const ber_choice_t T_content_or_arguments_choice[] = {
3668 { 0, &hf_x420_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OriginalContent },
3669 { 1, &hf_x420_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_T_original_security_arguments },
3670 { 0, NULL, 0, 0, 0, NULL }
3674 dissect_x420_T_content_or_arguments(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3675 offset = dissect_ber_choice(actx, tree, tvb, offset,
3676 T_content_or_arguments_choice, hf_index, ett_x420_T_content_or_arguments,
3683 static const value_string x420_SecurityDiagnosticCode_vals[] = {
3684 { 0, "integrity-failure-on-subject-message" },
3685 { 1, "integrity-failure-on-forwarded-message" },
3686 { 2, "moac-failure-on-subject-message" },
3687 { 3, "unsupported-security-policy" },
3688 { 4, "unsupported-algorithm-identifier" },
3689 { 5, "decryption-failed" },
3690 { 6, "token-error" },
3691 { 7, "unable-to-sign-notification" },
3692 { 8, "unable-to-sign-message-receipt" },
3693 { 9, "authentication-failure-on-subject-message" },
3694 { 10, "security-context-failure-message" },
3695 { 11, "message-sequence-failure" },
3696 { 12, "message-security-labelling-failure" },
3697 { 13, "repudiation-failure-of-message" },
3698 { 14, "failure-of-proof-of-message" },
3699 { 15, "signature-key-unobtainable" },
3700 { 16, "decryption-key-unobtainable" },
3701 { 17, "key-failure" },
3702 { 18, "unsupported-request-for-security-service" },
3703 { 19, "inconsistent-request-for-security-service" },
3704 { 20, "ipn-non-repudiation-provided-instead-of-content-proof" },
3705 { 21, "token-decryption-failed" },
3706 { 22, "double-enveloping-message-restoring-failure" },
3707 { 23, "unauthorised-dl-member" },
3708 { 24, "reception-security-failure" },
3709 { 25, "unsuitable-alternate-recipient" },
3710 { 26, "security-services-refusal" },
3711 { 27, "unauthorised-recipient" },
3712 { 28, "unknown-certification-authority-name" },
3713 { 29, "unknown-dl-name" },
3714 { 30, "unknown-originator-name" },
3715 { 31, "unknown-recipient-name" },
3716 { 32, "security-policy-violation" },
3722 dissect_x420_SecurityDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3723 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3730 static const ber_sequence_t IpnSecurityResponse_set[] = {
3731 { &hf_x420_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_content_or_arguments },
3732 { &hf_x420_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_SecurityDiagnosticCode },
3733 { NULL, 0, 0, 0, NULL }
3737 dissect_x420_IpnSecurityResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3738 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3739 IpnSecurityResponse_set, hf_index, ett_x420_IpnSecurityResponse);
3745 static const ber_sequence_t EncryptionToken_set[] = {
3746 { &hf_x420_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3747 { &hf_x420_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
3748 { &hf_x420_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3749 { &hf_x420_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
3750 { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3751 { &hf_x420_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates },
3752 { NULL, 0, 0, 0, NULL }
3756 dissect_x420_EncryptionToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3757 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3758 EncryptionToken_set, hf_index, ett_x420_EncryptionToken);
3764 static const value_string x420_T_body_part_choice_vals[] = {
3765 { 0, "encryption-token" },
3766 { 1, "message-or-content-body-part" },
3770 static const ber_choice_t T_body_part_choice_choice[] = {
3771 { 0, &hf_x420_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptionToken },
3772 { 1, &hf_x420_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartTokens },
3773 { 0, NULL, 0, 0, 0, NULL }
3777 dissect_x420_T_body_part_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3778 offset = dissect_ber_choice(actx, tree, tvb, offset,
3779 T_body_part_choice_choice, hf_index, ett_x420_T_body_part_choice,
3786 static const ber_sequence_t BodyPartTokens_item_set[] = {
3787 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
3788 { &hf_x420_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_choice },
3789 { NULL, 0, 0, 0, NULL }
3793 dissect_x420_BodyPartTokens_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3794 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3795 BodyPartTokens_item_set, hf_index, ett_x420_BodyPartTokens_item);
3801 static const ber_sequence_t BodyPartTokens_set_of[1] = {
3802 { &hf_x420_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartTokens_item },
3806 dissect_x420_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3807 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3808 BodyPartTokens_set_of, hf_index, ett_x420_BodyPartTokens);
3814 static const value_string x420_T_body_part_token_choice_vals[] = {
3815 { 0, "forwarding-token" },
3816 { 1, "message-or-content-body-part" },
3820 static const ber_choice_t T_body_part_token_choice_choice[] = {
3821 { 0, &hf_x420_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_MessageToken },
3822 { 1, &hf_x420_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken },
3823 { 0, NULL, 0, 0, 0, NULL }
3827 dissect_x420_T_body_part_token_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3828 offset = dissect_ber_choice(actx, tree, tvb, offset,
3829 T_body_part_token_choice_choice, hf_index, ett_x420_T_body_part_token_choice,
3836 static const ber_sequence_t ForwardedContentToken_item_set[] = {
3837 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
3838 { &hf_x420_body_part_token_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_token_choice },
3839 { NULL, 0, 0, 0, NULL }
3843 dissect_x420_ForwardedContentToken_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3844 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3845 ForwardedContentToken_item_set, hf_index, ett_x420_ForwardedContentToken_item);
3851 static const ber_sequence_t ForwardedContentToken_set_of[1] = {
3852 { &hf_x420_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken_item },
3856 dissect_x420_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3857 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3858 ForwardedContentToken_set_of, hf_index, ett_x420_ForwardedContentToken);
3865 static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3866 asn1_ctx_t asn1_ctx;
3867 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3868 dissect_x420_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationObject_PDU);
3870 static void dissect_Heading_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3871 asn1_ctx_t asn1_ctx;
3872 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3873 dissect_x420_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Heading_PDU);
3875 static void dissect_ORDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3876 asn1_ctx_t asn1_ctx;
3877 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3878 dissect_x420_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ORDescriptor_PDU);
3880 static void dissect_ThisIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3881 asn1_ctx_t asn1_ctx;
3882 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3883 dissect_x420_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ThisIPMField_PDU);
3885 static void dissect_OriginatorField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3886 asn1_ctx_t asn1_ctx;
3887 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3888 dissect_x420_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorField_PDU);
3890 static void dissect_AuthorizingUsersSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3891 asn1_ctx_t asn1_ctx;
3892 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3893 dissect_x420_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizingUsersSubfield_PDU);
3895 static void dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3896 asn1_ctx_t asn1_ctx;
3897 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3898 dissect_x420_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrimaryRecipientsSubfield_PDU);
3900 static void dissect_CopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3901 asn1_ctx_t asn1_ctx;
3902 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3903 dissect_x420_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CopyRecipientsSubfield_PDU);
3905 static void dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3906 asn1_ctx_t asn1_ctx;
3907 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3908 dissect_x420_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BlindCopyRecipientsSubfield_PDU);
3910 static void dissect_RepliedToIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3911 asn1_ctx_t asn1_ctx;
3912 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3913 dissect_x420_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RepliedToIPMField_PDU);
3915 static void dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3916 asn1_ctx_t asn1_ctx;
3917 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3918 dissect_x420_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ObsoletedIPMsSubfield_PDU);
3920 static void dissect_RelatedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3921 asn1_ctx_t asn1_ctx;
3922 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3923 dissect_x420_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RelatedIPMsSubfield_PDU);
3925 static void dissect_SubjectField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3926 asn1_ctx_t asn1_ctx;
3927 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3928 dissect_x420_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubjectField_PDU);
3930 static void dissect_ExpiryTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3931 asn1_ctx_t asn1_ctx;
3932 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3933 dissect_x420_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExpiryTimeField_PDU);
3935 static void dissect_ReplyTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3936 asn1_ctx_t asn1_ctx;
3937 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3938 dissect_x420_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyTimeField_PDU);
3940 static void dissect_ReplyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3941 asn1_ctx_t asn1_ctx;
3942 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3943 dissect_x420_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyRecipientsSubfield_PDU);
3945 static void dissect_ImportanceField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3946 asn1_ctx_t asn1_ctx;
3947 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3948 dissect_x420_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ImportanceField_PDU);
3950 static void dissect_SensitivityField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3951 asn1_ctx_t asn1_ctx;
3952 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3953 dissect_x420_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SensitivityField_PDU);
3955 static void dissect_AutoForwardedField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3956 asn1_ctx_t asn1_ctx;
3957 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3958 dissect_x420_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoForwardedField_PDU);
3960 static void dissect_Body_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3961 asn1_ctx_t asn1_ctx;
3962 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3963 dissect_x420_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Body_PDU);
3965 static void dissect_IA5TextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3966 asn1_ctx_t asn1_ctx;
3967 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3968 dissect_x420_IA5TextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextParameters_PDU);
3970 static void dissect_IA5TextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3971 asn1_ctx_t asn1_ctx;
3972 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3973 dissect_x420_IA5TextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextData_PDU);
3975 static void dissect_G3FacsimileParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3976 asn1_ctx_t asn1_ctx;
3977 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3978 dissect_x420_G3FacsimileParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileParameters_PDU);
3980 static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3981 asn1_ctx_t asn1_ctx;
3982 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3983 dissect_x420_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileData_PDU);
3985 static void dissect_G4Class1BodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3986 asn1_ctx_t asn1_ctx;
3987 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3988 dissect_x420_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G4Class1BodyPart_PDU);
3990 static void dissect_MixedModeBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3991 asn1_ctx_t asn1_ctx;
3992 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3993 dissect_x420_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MixedModeBodyPart_PDU);
3995 static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
3996 asn1_ctx_t asn1_ctx;
3997 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
3998 dissect_x420_TeletexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexParameters_PDU);
4000 static void dissect_TeletexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4001 asn1_ctx_t asn1_ctx;
4002 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4003 dissect_x420_TeletexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexData_PDU);
4005 static void dissect_VideotexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4006 asn1_ctx_t asn1_ctx;
4007 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4008 dissect_x420_VideotexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexParameters_PDU);
4010 static void dissect_VideotexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4011 asn1_ctx_t asn1_ctx;
4012 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4013 dissect_x420_VideotexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexData_PDU);
4015 static void dissect_EncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4016 asn1_ctx_t asn1_ctx;
4017 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4018 dissect_x420_EncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedParameters_PDU);
4020 static void dissect_EncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4021 asn1_ctx_t asn1_ctx;
4022 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4023 dissect_x420_EncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedData_PDU);
4025 static void dissect_MessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4026 asn1_ctx_t asn1_ctx;
4027 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4028 dissect_x420_MessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageParameters_PDU);
4030 static void dissect_MessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4031 asn1_ctx_t asn1_ctx;
4032 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4033 dissect_x420_MessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageData_PDU);
4035 static void dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4036 asn1_ctx_t asn1_ctx;
4037 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4038 dissect_x420_BilaterallyDefinedBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BilaterallyDefinedBodyPart_PDU);
4040 static void dissect_IPN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4041 asn1_ctx_t asn1_ctx;
4042 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4043 dissect_x420_IPN(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPN_PDU);
4045 static void dissect_AbsenceAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4046 asn1_ctx_t asn1_ctx;
4047 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4048 dissect_x420_AbsenceAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AbsenceAdvice_PDU);
4050 static void dissect_ChangeOfAddressAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4051 asn1_ctx_t asn1_ctx;
4052 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4053 dissect_x420_ChangeOfAddressAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ChangeOfAddressAdvice_PDU);
4055 static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4056 asn1_ctx_t asn1_ctx;
4057 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4058 dissect_x420_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMAssemblyInstructions_PDU);
4060 static void dissect_IncompleteCopy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4061 asn1_ctx_t asn1_ctx;
4062 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4063 dissect_x420_IncompleteCopy(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IncompleteCopy_PDU);
4065 static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4066 asn1_ctx_t asn1_ctx;
4067 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4068 dissect_x420_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Languages_PDU);
4070 static void dissect_Language_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4071 asn1_ctx_t asn1_ctx;
4072 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4073 dissect_x420_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Language_PDU);
4075 static void dissect_AutoSubmitted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4076 asn1_ctx_t asn1_ctx;
4077 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4078 dissect_x420_AutoSubmitted(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoSubmitted_PDU);
4080 static void dissect_BodyPartSignatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4081 asn1_ctx_t asn1_ctx;
4082 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4083 dissect_x420_BodyPartSignatures(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatures_PDU);
4085 static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4086 asn1_ctx_t asn1_ctx;
4087 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4088 dissect_x420_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSecurityLabel_PDU);
4090 static void dissect_BodyPartSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4091 asn1_ctx_t asn1_ctx;
4092 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4093 dissect_x420_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSecurityLabel_PDU);
4095 static void dissect_AuthorizationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4096 asn1_ctx_t asn1_ctx;
4097 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4098 dissect_x420_AuthorizationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizationTime_PDU);
4100 static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4101 asn1_ctx_t asn1_ctx;
4102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4103 dissect_x420_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationList_PDU);
4105 static void dissect_CirculationMember_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4106 asn1_ctx_t asn1_ctx;
4107 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4108 dissect_x420_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationMember_PDU);
4110 static void dissect_CirculationListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4111 asn1_ctx_t asn1_ctx;
4112 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4113 dissect_x420_CirculationListIndicator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationListIndicator_PDU);
4115 static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4116 asn1_ctx_t asn1_ctx;
4117 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4118 dissect_x420_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCodes_PDU);
4120 static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4121 asn1_ctx_t asn1_ctx;
4122 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4123 dissect_x420_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCode_PDU);
4125 static void dissect_ExtendedSubject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4126 asn1_ctx_t asn1_ctx;
4127 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4128 dissect_x420_ExtendedSubject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExtendedSubject_PDU);
4130 static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4131 asn1_ctx_t asn1_ctx;
4132 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4133 dissect_x420_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategories_PDU);
4135 static void dissect_InformationCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4136 asn1_ctx_t asn1_ctx;
4137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4138 dissect_x420_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategory_PDU);
4140 static void dissect_ManualHandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4141 asn1_ctx_t asn1_ctx;
4142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4143 dissect_x420_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstructions_PDU);
4145 static void dissect_ManualHandlingInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4146 asn1_ctx_t asn1_ctx;
4147 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4148 dissect_x420_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstruction_PDU);
4150 static void dissect_OriginatorsReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4151 asn1_ctx_t asn1_ctx;
4152 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4153 dissect_x420_OriginatorsReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorsReference_PDU);
4155 static void dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4156 asn1_ctx_t asn1_ctx;
4157 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4158 dissect_x420_PrecedencePolicyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrecedencePolicyIdentifier_PDU);
4160 static void dissect_Precedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4161 asn1_ctx_t asn1_ctx;
4162 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4163 dissect_x420_Precedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Precedence_PDU);
4165 static void dissect_GeneralTextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4166 asn1_ctx_t asn1_ctx;
4167 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4168 dissect_x420_GeneralTextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextParameters_PDU);
4170 static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4171 asn1_ctx_t asn1_ctx;
4172 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4173 dissect_x420_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextData_PDU);
4175 static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4176 asn1_ctx_t asn1_ctx;
4177 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4178 dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU);
4180 static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4181 asn1_ctx_t asn1_ctx;
4182 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4183 dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU);
4185 static void dissect_VoiceParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4186 asn1_ctx_t asn1_ctx;
4187 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4188 dissect_x420_VoiceParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceParameters_PDU);
4190 static void dissect_VoiceData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4191 asn1_ctx_t asn1_ctx;
4192 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4193 dissect_x420_VoiceData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceData_PDU);
4195 static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4196 asn1_ctx_t asn1_ctx;
4197 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4198 dissect_x420_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentParameters_PDU);
4200 static void dissect_IPMEntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4201 asn1_ctx_t asn1_ctx;
4202 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4203 dissect_x420_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMEntryType_PDU);
4205 static void dissect_IPMSynopsis_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4206 asn1_ctx_t asn1_ctx;
4207 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4208 dissect_x420_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSynopsis_PDU);
4210 static void dissect_BodyPartDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4211 asn1_ctx_t asn1_ctx;
4212 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4213 dissect_x420_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartDescriptor_PDU);
4215 static void dissect_BodyPartSignatureVerification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4216 asn1_ctx_t asn1_ctx;
4217 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4218 dissect_x420_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatureVerification_PDU);
4220 static void dissect_IPMLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4221 asn1_ctx_t asn1_ctx;
4222 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4223 dissect_x420_IPMLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMLocation_PDU);
4225 static void dissect_DeliveredReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4226 asn1_ctx_t asn1_ctx;
4227 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4228 dissect_x420_DeliveredReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredReplyStatus_PDU);
4230 static void dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4231 asn1_ctx_t asn1_ctx;
4232 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4233 dissect_x420_CorrelatedDeliveredReplies(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredReplies_PDU);
4235 static void dissect_DeliveredIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4236 asn1_ctx_t asn1_ctx;
4237 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4238 dissect_x420_DeliveredIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredIPNStatus_PDU);
4240 static void dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4241 asn1_ctx_t asn1_ctx;
4242 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4243 dissect_x420_CorrelatedDeliveredIPNs(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredIPNs_PDU);
4245 static void dissect_SubmittedReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4246 asn1_ctx_t asn1_ctx;
4247 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4248 dissect_x420_SubmittedReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedReplyStatus_PDU);
4250 static void dissect_SubmittedIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4251 asn1_ctx_t asn1_ctx;
4252 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4253 dissect_x420_SubmittedIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedIPNStatus_PDU);
4255 static void dissect_RecipientCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4256 asn1_ctx_t asn1_ctx;
4257 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4258 dissect_x420_RecipientCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientCategory_PDU);
4260 static void dissect_RecipientSecurityRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4261 asn1_ctx_t asn1_ctx;
4262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4263 dissect_x420_RecipientSecurityRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientSecurityRequest_PDU);
4265 static void dissect_IpnSecurityResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4266 asn1_ctx_t asn1_ctx;
4267 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4268 dissect_x420_IpnSecurityResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IpnSecurityResponse_PDU);
4270 static void dissect_BodyPartTokens_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4271 asn1_ctx_t asn1_ctx;
4272 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4273 dissect_x420_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartTokens_PDU);
4275 static void dissect_ForwardedContentToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4276 asn1_ctx_t asn1_ctx;
4277 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4278 dissect_x420_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentToken_PDU);
4282 /*--- End of included file: packet-x420-fn.c ---*/
4283 #line 96 "packet-x420-template.c"
4286 * Dissect X420 PDUs inside a PPDU.
4289 dissect_x420(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4292 proto_item *item=NULL;
4293 proto_tree *tree=NULL;
4294 asn1_ctx_t asn1_ctx;
4295 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4298 item = proto_tree_add_item(parent_tree, proto_x420, tvb, 0, -1, FALSE);
4299 tree = proto_item_add_subtree(item, ett_x420);
4302 if (check_col(pinfo->cinfo, COL_PROTOCOL))
4303 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22");
4304 if (check_col(pinfo->cinfo, COL_INFO))
4305 col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal");
4307 dissect_x420_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
4311 /*--- proto_register_x420 -------------------------------------------*/
4312 void proto_register_x420(void) {
4314 /* List of fields */
4315 static hf_register_info hf[] =
4318 /*--- Included file: packet-x420-hfarr.c ---*/
4319 #line 1 "packet-x420-hfarr.c"
4320 { &hf_x420_InformationObject_PDU,
4321 { "InformationObject", "x420.InformationObject",
4322 FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0,
4323 "x420.InformationObject", HFILL }},
4324 { &hf_x420_Heading_PDU,
4325 { "Heading", "x420.Heading",
4326 FT_NONE, BASE_NONE, NULL, 0,
4327 "x420.Heading", HFILL }},
4328 { &hf_x420_ORDescriptor_PDU,
4329 { "ORDescriptor", "x420.ORDescriptor",
4330 FT_NONE, BASE_NONE, NULL, 0,
4331 "x420.ORDescriptor", HFILL }},
4332 { &hf_x420_ThisIPMField_PDU,
4333 { "ThisIPMField", "x420.ThisIPMField",
4334 FT_NONE, BASE_NONE, NULL, 0,
4335 "x420.ThisIPMField", HFILL }},
4336 { &hf_x420_OriginatorField_PDU,
4337 { "OriginatorField", "x420.OriginatorField",
4338 FT_NONE, BASE_NONE, NULL, 0,
4339 "x420.OriginatorField", HFILL }},
4340 { &hf_x420_AuthorizingUsersSubfield_PDU,
4341 { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield",
4342 FT_NONE, BASE_NONE, NULL, 0,
4343 "x420.AuthorizingUsersSubfield", HFILL }},
4344 { &hf_x420_PrimaryRecipientsSubfield_PDU,
4345 { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield",
4346 FT_NONE, BASE_NONE, NULL, 0,
4347 "x420.PrimaryRecipientsSubfield", HFILL }},
4348 { &hf_x420_CopyRecipientsSubfield_PDU,
4349 { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield",
4350 FT_NONE, BASE_NONE, NULL, 0,
4351 "x420.CopyRecipientsSubfield", HFILL }},
4352 { &hf_x420_BlindCopyRecipientsSubfield_PDU,
4353 { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield",
4354 FT_NONE, BASE_NONE, NULL, 0,
4355 "x420.BlindCopyRecipientsSubfield", HFILL }},
4356 { &hf_x420_RepliedToIPMField_PDU,
4357 { "RepliedToIPMField", "x420.RepliedToIPMField",
4358 FT_NONE, BASE_NONE, NULL, 0,
4359 "x420.RepliedToIPMField", HFILL }},
4360 { &hf_x420_ObsoletedIPMsSubfield_PDU,
4361 { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield",
4362 FT_NONE, BASE_NONE, NULL, 0,
4363 "x420.ObsoletedIPMsSubfield", HFILL }},
4364 { &hf_x420_RelatedIPMsSubfield_PDU,
4365 { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield",
4366 FT_NONE, BASE_NONE, NULL, 0,
4367 "x420.RelatedIPMsSubfield", HFILL }},
4368 { &hf_x420_SubjectField_PDU,
4369 { "SubjectField", "x420.SubjectField",
4370 FT_STRING, BASE_NONE, NULL, 0,
4371 "x420.SubjectField", HFILL }},
4372 { &hf_x420_ExpiryTimeField_PDU,
4373 { "ExpiryTimeField", "x420.ExpiryTimeField",
4374 FT_STRING, BASE_NONE, NULL, 0,
4375 "x420.ExpiryTimeField", HFILL }},
4376 { &hf_x420_ReplyTimeField_PDU,
4377 { "ReplyTimeField", "x420.ReplyTimeField",
4378 FT_STRING, BASE_NONE, NULL, 0,
4379 "x420.ReplyTimeField", HFILL }},
4380 { &hf_x420_ReplyRecipientsSubfield_PDU,
4381 { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield",
4382 FT_NONE, BASE_NONE, NULL, 0,
4383 "x420.ReplyRecipientsSubfield", HFILL }},
4384 { &hf_x420_ImportanceField_PDU,
4385 { "ImportanceField", "x420.ImportanceField",
4386 FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0,
4387 "x420.ImportanceField", HFILL }},
4388 { &hf_x420_SensitivityField_PDU,
4389 { "SensitivityField", "x420.SensitivityField",
4390 FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0,
4391 "x420.SensitivityField", HFILL }},
4392 { &hf_x420_AutoForwardedField_PDU,
4393 { "AutoForwardedField", "x420.AutoForwardedField",
4394 FT_BOOLEAN, 8, NULL, 0,
4395 "x420.AutoForwardedField", HFILL }},
4396 { &hf_x420_Body_PDU,
4397 { "Body", "x420.Body",
4398 FT_UINT32, BASE_DEC, NULL, 0,
4399 "x420.Body", HFILL }},
4400 { &hf_x420_IA5TextParameters_PDU,
4401 { "IA5TextParameters", "x420.IA5TextParameters",
4402 FT_NONE, BASE_NONE, NULL, 0,
4403 "x420.IA5TextParameters", HFILL }},
4404 { &hf_x420_IA5TextData_PDU,
4405 { "IA5TextData", "x420.IA5TextData",
4406 FT_STRING, BASE_NONE, NULL, 0,
4407 "x420.IA5TextData", HFILL }},
4408 { &hf_x420_G3FacsimileParameters_PDU,
4409 { "G3FacsimileParameters", "x420.G3FacsimileParameters",
4410 FT_NONE, BASE_NONE, NULL, 0,
4411 "x420.G3FacsimileParameters", HFILL }},
4412 { &hf_x420_G3FacsimileData_PDU,
4413 { "G3FacsimileData", "x420.G3FacsimileData",
4414 FT_UINT32, BASE_DEC, NULL, 0,
4415 "x420.G3FacsimileData", HFILL }},
4416 { &hf_x420_G4Class1BodyPart_PDU,
4417 { "G4Class1BodyPart", "x420.G4Class1BodyPart",
4418 FT_UINT32, BASE_DEC, NULL, 0,
4419 "x420.G4Class1BodyPart", HFILL }},
4420 { &hf_x420_MixedModeBodyPart_PDU,
4421 { "MixedModeBodyPart", "x420.MixedModeBodyPart",
4422 FT_UINT32, BASE_DEC, NULL, 0,
4423 "x420.MixedModeBodyPart", HFILL }},
4424 { &hf_x420_TeletexParameters_PDU,
4425 { "TeletexParameters", "x420.TeletexParameters",
4426 FT_NONE, BASE_NONE, NULL, 0,
4427 "x420.TeletexParameters", HFILL }},
4428 { &hf_x420_TeletexData_PDU,
4429 { "TeletexData", "x420.TeletexData",
4430 FT_UINT32, BASE_DEC, NULL, 0,
4431 "x420.TeletexData", HFILL }},
4432 { &hf_x420_VideotexParameters_PDU,
4433 { "VideotexParameters", "x420.VideotexParameters",
4434 FT_NONE, BASE_NONE, NULL, 0,
4435 "x420.VideotexParameters", HFILL }},
4436 { &hf_x420_VideotexData_PDU,
4437 { "VideotexData", "x420.VideotexData",
4438 FT_STRING, BASE_NONE, NULL, 0,
4439 "x420.VideotexData", HFILL }},
4440 { &hf_x420_EncryptedParameters_PDU,
4441 { "EncryptedParameters", "x420.EncryptedParameters",
4442 FT_NONE, BASE_NONE, NULL, 0,
4443 "x420.EncryptedParameters", HFILL }},
4444 { &hf_x420_EncryptedData_PDU,
4445 { "EncryptedData", "x420.EncryptedData",
4446 FT_BYTES, BASE_HEX, NULL, 0,
4447 "x420.EncryptedData", HFILL }},
4448 { &hf_x420_MessageParameters_PDU,
4449 { "MessageParameters", "x420.MessageParameters",
4450 FT_NONE, BASE_NONE, NULL, 0,
4451 "x420.MessageParameters", HFILL }},
4452 { &hf_x420_MessageData_PDU,
4453 { "MessageData", "x420.MessageData",
4454 FT_NONE, BASE_NONE, NULL, 0,
4455 "x420.MessageData", HFILL }},
4456 { &hf_x420_BilaterallyDefinedBodyPart_PDU,
4457 { "BilaterallyDefinedBodyPart", "x420.BilaterallyDefinedBodyPart",
4458 FT_BYTES, BASE_HEX, NULL, 0,
4459 "x420.BilaterallyDefinedBodyPart", HFILL }},
4461 { "IPN", "x420.IPN",
4462 FT_NONE, BASE_NONE, NULL, 0,
4463 "x420.IPN", HFILL }},
4464 { &hf_x420_AbsenceAdvice_PDU,
4465 { "AbsenceAdvice", "x420.AbsenceAdvice",
4466 FT_NONE, BASE_NONE, NULL, 0,
4467 "x420.AbsenceAdvice", HFILL }},
4468 { &hf_x420_ChangeOfAddressAdvice_PDU,
4469 { "ChangeOfAddressAdvice", "x420.ChangeOfAddressAdvice",
4470 FT_NONE, BASE_NONE, NULL, 0,
4471 "x420.ChangeOfAddressAdvice", HFILL }},
4472 { &hf_x420_IPMAssemblyInstructions_PDU,
4473 { "IPMAssemblyInstructions", "x420.IPMAssemblyInstructions",
4474 FT_NONE, BASE_NONE, NULL, 0,
4475 "x420.IPMAssemblyInstructions", HFILL }},
4476 { &hf_x420_IncompleteCopy_PDU,
4477 { "IncompleteCopy", "x420.IncompleteCopy",
4478 FT_NONE, BASE_NONE, NULL, 0,
4479 "x420.IncompleteCopy", HFILL }},
4480 { &hf_x420_Languages_PDU,
4481 { "Languages", "x420.Languages",
4482 FT_UINT32, BASE_DEC, NULL, 0,
4483 "x420.Languages", HFILL }},
4484 { &hf_x420_Language_PDU,
4485 { "Language", "x420.Language",
4486 FT_STRING, BASE_NONE, NULL, 0,
4487 "x420.Language", HFILL }},
4488 { &hf_x420_AutoSubmitted_PDU,
4489 { "AutoSubmitted", "x420.AutoSubmitted",
4490 FT_UINT32, BASE_DEC, VALS(x420_AutoSubmitted_vals), 0,
4491 "x420.AutoSubmitted", HFILL }},
4492 { &hf_x420_BodyPartSignatures_PDU,
4493 { "BodyPartSignatures", "x420.BodyPartSignatures",
4494 FT_UINT32, BASE_DEC, NULL, 0,
4495 "x420.BodyPartSignatures", HFILL }},
4496 { &hf_x420_IPMSecurityLabel_PDU,
4497 { "IPMSecurityLabel", "x420.IPMSecurityLabel",
4498 FT_NONE, BASE_NONE, NULL, 0,
4499 "x420.IPMSecurityLabel", HFILL }},
4500 { &hf_x420_BodyPartSecurityLabel_PDU,
4501 { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel",
4502 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0,
4503 "x420.BodyPartSecurityLabel", HFILL }},
4504 { &hf_x420_AuthorizationTime_PDU,
4505 { "AuthorizationTime", "x420.AuthorizationTime",
4506 FT_STRING, BASE_NONE, NULL, 0,
4507 "x420.AuthorizationTime", HFILL }},
4508 { &hf_x420_CirculationList_PDU,
4509 { "CirculationList", "x420.CirculationList",
4510 FT_UINT32, BASE_DEC, NULL, 0,
4511 "x420.CirculationList", HFILL }},
4512 { &hf_x420_CirculationMember_PDU,
4513 { "CirculationMember", "x420.CirculationMember",
4514 FT_NONE, BASE_NONE, NULL, 0,
4515 "x420.CirculationMember", HFILL }},
4516 { &hf_x420_CirculationListIndicator_PDU,
4517 { "CirculationListIndicator", "x420.CirculationListIndicator",
4518 FT_NONE, BASE_NONE, NULL, 0,
4519 "x420.CirculationListIndicator", HFILL }},
4520 { &hf_x420_DistributionCodes_PDU,
4521 { "DistributionCodes", "x420.DistributionCodes",
4522 FT_UINT32, BASE_DEC, NULL, 0,
4523 "x420.DistributionCodes", HFILL }},
4524 { &hf_x420_DistributionCode_PDU,
4525 { "DistributionCode", "x420.DistributionCode",
4526 FT_NONE, BASE_NONE, NULL, 0,
4527 "x420.DistributionCode", HFILL }},
4528 { &hf_x420_ExtendedSubject_PDU,
4529 { "ExtendedSubject", "x420.ExtendedSubject",
4530 FT_NONE, BASE_NONE, NULL, 0,
4531 "x420.ExtendedSubject", HFILL }},
4532 { &hf_x420_InformationCategories_PDU,
4533 { "InformationCategories", "x420.InformationCategories",
4534 FT_UINT32, BASE_DEC, NULL, 0,
4535 "x420.InformationCategories", HFILL }},
4536 { &hf_x420_InformationCategory_PDU,
4537 { "InformationCategory", "x420.InformationCategory",
4538 FT_NONE, BASE_NONE, NULL, 0,
4539 "x420.InformationCategory", HFILL }},
4540 { &hf_x420_ManualHandlingInstructions_PDU,
4541 { "ManualHandlingInstructions", "x420.ManualHandlingInstructions",
4542 FT_UINT32, BASE_DEC, NULL, 0,
4543 "x420.ManualHandlingInstructions", HFILL }},
4544 { &hf_x420_ManualHandlingInstruction_PDU,
4545 { "ManualHandlingInstruction", "x420.ManualHandlingInstruction",
4546 FT_NONE, BASE_NONE, NULL, 0,
4547 "x420.ManualHandlingInstruction", HFILL }},
4548 { &hf_x420_OriginatorsReference_PDU,
4549 { "OriginatorsReference", "x420.OriginatorsReference",
4550 FT_NONE, BASE_NONE, NULL, 0,
4551 "x420.OriginatorsReference", HFILL }},
4552 { &hf_x420_PrecedencePolicyIdentifier_PDU,
4553 { "PrecedencePolicyIdentifier", "x420.PrecedencePolicyIdentifier",
4554 FT_OID, BASE_NONE, NULL, 0,
4555 "x420.PrecedencePolicyIdentifier", HFILL }},
4556 { &hf_x420_Precedence_PDU,
4557 { "Precedence", "x420.Precedence",
4558 FT_UINT32, BASE_DEC, NULL, 0,
4559 "x420.Precedence", HFILL }},
4560 { &hf_x420_GeneralTextParameters_PDU,
4561 { "GeneralTextParameters", "x420.GeneralTextParameters",
4562 FT_UINT32, BASE_DEC, NULL, 0,
4563 "x420.GeneralTextParameters", HFILL }},
4564 { &hf_x420_GeneralTextData_PDU,
4565 { "GeneralTextData", "x420.GeneralTextData",
4566 FT_STRING, BASE_NONE, NULL, 0,
4567 "x420.GeneralTextData", HFILL }},
4568 { &hf_x420_FileTransferParameters_PDU,
4569 { "FileTransferParameters", "x420.FileTransferParameters",
4570 FT_NONE, BASE_NONE, NULL, 0,
4571 "x420.FileTransferParameters", HFILL }},
4572 { &hf_x420_FileTransferData_PDU,
4573 { "FileTransferData", "x420.FileTransferData",
4574 FT_UINT32, BASE_DEC, NULL, 0,
4575 "x420.FileTransferData", HFILL }},
4576 { &hf_x420_VoiceParameters_PDU,
4577 { "VoiceParameters", "x420.VoiceParameters",
4578 FT_NONE, BASE_NONE, NULL, 0,
4579 "x420.VoiceParameters", HFILL }},
4580 { &hf_x420_VoiceData_PDU,
4581 { "VoiceData", "x420.VoiceData",
4582 FT_BYTES, BASE_HEX, NULL, 0,
4583 "x420.VoiceData", HFILL }},
4584 { &hf_x420_ForwardedContentParameters_PDU,
4585 { "ForwardedContentParameters", "x420.ForwardedContentParameters",
4586 FT_NONE, BASE_NONE, NULL, 0,
4587 "x420.ForwardedContentParameters", HFILL }},
4588 { &hf_x420_IPMEntryType_PDU,
4589 { "IPMEntryType", "x420.IPMEntryType",
4590 FT_UINT32, BASE_DEC, VALS(x420_IPMEntryType_vals), 0,
4591 "x420.IPMEntryType", HFILL }},
4592 { &hf_x420_IPMSynopsis_PDU,
4593 { "IPMSynopsis", "x420.IPMSynopsis",
4594 FT_UINT32, BASE_DEC, NULL, 0,
4595 "x420.IPMSynopsis", HFILL }},
4596 { &hf_x420_BodyPartDescriptor_PDU,
4597 { "BodyPartDescriptor", "x420.BodyPartDescriptor",
4598 FT_NONE, BASE_NONE, NULL, 0,
4599 "x420.BodyPartDescriptor", HFILL }},
4600 { &hf_x420_BodyPartSignatureVerification_PDU,
4601 { "BodyPartSignatureVerification", "x420.BodyPartSignatureVerification",
4602 FT_UINT32, BASE_DEC, NULL, 0,
4603 "x420.BodyPartSignatureVerification", HFILL }},
4604 { &hf_x420_IPMLocation_PDU,
4605 { "IPMLocation", "x420.IPMLocation",
4606 FT_UINT32, BASE_DEC, VALS(x420_IPMLocation_vals), 0,
4607 "x420.IPMLocation", HFILL }},
4608 { &hf_x420_DeliveredReplyStatus_PDU,
4609 { "DeliveredReplyStatus", "x420.DeliveredReplyStatus",
4610 FT_INT32, BASE_DEC, VALS(x420_DeliveredReplyStatus_vals), 0,
4611 "x420.DeliveredReplyStatus", HFILL }},
4612 { &hf_x420_CorrelatedDeliveredReplies_PDU,
4613 { "CorrelatedDeliveredReplies", "x420.CorrelatedDeliveredReplies",
4614 FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredReplies_vals), 0,
4615 "x420.CorrelatedDeliveredReplies", HFILL }},
4616 { &hf_x420_DeliveredIPNStatus_PDU,
4617 { "DeliveredIPNStatus", "x420.DeliveredIPNStatus",
4618 FT_INT32, BASE_DEC, VALS(x420_DeliveredIPNStatus_vals), 0,
4619 "x420.DeliveredIPNStatus", HFILL }},
4620 { &hf_x420_CorrelatedDeliveredIPNs_PDU,
4621 { "CorrelatedDeliveredIPNs", "x420.CorrelatedDeliveredIPNs",
4622 FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredIPNs_vals), 0,
4623 "x420.CorrelatedDeliveredIPNs", HFILL }},
4624 { &hf_x420_SubmittedReplyStatus_PDU,
4625 { "SubmittedReplyStatus", "x420.SubmittedReplyStatus",
4626 FT_INT32, BASE_DEC, VALS(x420_SubmittedReplyStatus_vals), 0,
4627 "x420.SubmittedReplyStatus", HFILL }},
4628 { &hf_x420_SubmittedIPNStatus_PDU,
4629 { "SubmittedIPNStatus", "x420.SubmittedIPNStatus",
4630 FT_INT32, BASE_DEC, VALS(x420_SubmittedIPNStatus_vals), 0,
4631 "x420.SubmittedIPNStatus", HFILL }},
4632 { &hf_x420_RecipientCategory_PDU,
4633 { "RecipientCategory", "x420.RecipientCategory",
4634 FT_INT32, BASE_DEC, VALS(x420_RecipientCategory_vals), 0,
4635 "x420.RecipientCategory", HFILL }},
4636 { &hf_x420_RecipientSecurityRequest_PDU,
4637 { "RecipientSecurityRequest", "x420.RecipientSecurityRequest",
4638 FT_BYTES, BASE_HEX, NULL, 0,
4639 "x420.RecipientSecurityRequest", HFILL }},
4640 { &hf_x420_IpnSecurityResponse_PDU,
4641 { "IpnSecurityResponse", "x420.IpnSecurityResponse",
4642 FT_NONE, BASE_NONE, NULL, 0,
4643 "x420.IpnSecurityResponse", HFILL }},
4644 { &hf_x420_BodyPartTokens_PDU,
4645 { "BodyPartTokens", "x420.BodyPartTokens",
4646 FT_UINT32, BASE_DEC, NULL, 0,
4647 "x420.BodyPartTokens", HFILL }},
4648 { &hf_x420_ForwardedContentToken_PDU,
4649 { "ForwardedContentToken", "x420.ForwardedContentToken",
4650 FT_UINT32, BASE_DEC, NULL, 0,
4651 "x420.ForwardedContentToken", HFILL }},
4653 { "ipm", "x420.ipm",
4654 FT_NONE, BASE_NONE, NULL, 0,
4655 "x420.IPM", HFILL }},
4657 { "ipn", "x420.ipn",
4658 FT_NONE, BASE_NONE, NULL, 0,
4659 "x420.IPN", HFILL }},
4661 { "heading", "x420.heading",
4662 FT_NONE, BASE_NONE, NULL, 0,
4663 "x420.Heading", HFILL }},
4665 { "body", "x420.body",
4666 FT_UINT32, BASE_DEC, NULL, 0,
4667 "x420.Body", HFILL }},
4669 { "type", "x420.type",
4670 FT_OID, BASE_NONE, NULL, 0,
4671 "x420.T_type", HFILL }},
4673 { "value", "x420.value",
4674 FT_NONE, BASE_NONE, NULL, 0,
4675 "x420.T_value", HFILL }},
4676 { &hf_x420_this_IPM,
4677 { "this-IPM", "x420.this_IPM",
4678 FT_NONE, BASE_NONE, NULL, 0,
4679 "x420.ThisIPMField", HFILL }},
4680 { &hf_x420_originator,
4681 { "originator", "x420.originator",
4682 FT_NONE, BASE_NONE, NULL, 0,
4683 "x420.OriginatorField", HFILL }},
4684 { &hf_x420_authorizing_users,
4685 { "authorizing-users", "x420.authorizing_users",
4686 FT_UINT32, BASE_DEC, NULL, 0,
4687 "x420.AuthorizingUsersField", HFILL }},
4688 { &hf_x420_primary_recipients,
4689 { "primary-recipients", "x420.primary_recipients",
4690 FT_UINT32, BASE_DEC, NULL, 0,
4691 "x420.PrimaryRecipientsField", HFILL }},
4692 { &hf_x420_copy_recipients,
4693 { "copy-recipients", "x420.copy_recipients",
4694 FT_UINT32, BASE_DEC, NULL, 0,
4695 "x420.CopyRecipientsField", HFILL }},
4696 { &hf_x420_blind_copy_recipients,
4697 { "blind-copy-recipients", "x420.blind_copy_recipients",
4698 FT_UINT32, BASE_DEC, NULL, 0,
4699 "x420.BlindCopyRecipientsField", HFILL }},
4700 { &hf_x420_replied_to_IPM,
4701 { "replied-to-IPM", "x420.replied_to_IPM",
4702 FT_NONE, BASE_NONE, NULL, 0,
4703 "x420.RepliedToIPMField", HFILL }},
4704 { &hf_x420_obsoleted_IPMs,
4705 { "obsoleted-IPMs", "x420.obsoleted_IPMs",
4706 FT_UINT32, BASE_DEC, NULL, 0,
4707 "x420.ObsoletedIPMsField", HFILL }},
4708 { &hf_x420_related_IPMs,
4709 { "related-IPMs", "x420.related_IPMs",
4710 FT_UINT32, BASE_DEC, NULL, 0,
4711 "x420.RelatedIPMsField", HFILL }},
4713 { "subject", "x420.subject",
4714 FT_STRING, BASE_NONE, NULL, 0,
4715 "x420.SubjectField", HFILL }},
4716 { &hf_x420_expiry_time,
4717 { "expiry-time", "x420.expiry_time",
4718 FT_STRING, BASE_NONE, NULL, 0,
4719 "x420.ExpiryTimeField", HFILL }},
4720 { &hf_x420_reply_time,
4721 { "reply-time", "x420.reply_time",
4722 FT_STRING, BASE_NONE, NULL, 0,
4723 "x420.ReplyTimeField", HFILL }},
4724 { &hf_x420_reply_recipients,
4725 { "reply-recipients", "x420.reply_recipients",
4726 FT_UINT32, BASE_DEC, NULL, 0,
4727 "x420.ReplyRecipientsField", HFILL }},
4728 { &hf_x420_importance,
4729 { "importance", "x420.importance",
4730 FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0,
4731 "x420.ImportanceField", HFILL }},
4732 { &hf_x420_sensitivity,
4733 { "sensitivity", "x420.sensitivity",
4734 FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0,
4735 "x420.SensitivityField", HFILL }},
4736 { &hf_x420_auto_forwarded,
4737 { "auto-forwarded", "x420.auto_forwarded",
4738 FT_BOOLEAN, 8, NULL, 0,
4739 "x420.AutoForwardedField", HFILL }},
4740 { &hf_x420_extensions,
4741 { "extensions", "x420.extensions",
4742 FT_UINT32, BASE_DEC, NULL, 0,
4743 "x420.ExtensionsField", HFILL }},
4745 { "user", "x420.user",
4746 FT_NONE, BASE_NONE, NULL, 0,
4747 "x411.ORName", HFILL }},
4748 { &hf_x420_user_relative_identifier,
4749 { "user-relative-identifier", "x420.user_relative_identifier",
4750 FT_STRING, BASE_NONE, NULL, 0,
4751 "x420.LocalIPMIdentifier", HFILL }},
4752 { &hf_x420_recipient,
4753 { "recipient", "x420.recipient",
4754 FT_NONE, BASE_NONE, NULL, 0,
4755 "x420.ORDescriptor", HFILL }},
4756 { &hf_x420_notification_requests,
4757 { "notification-requests", "x420.notification_requests",
4758 FT_BYTES, BASE_HEX, NULL, 0,
4759 "x420.NotificationRequests", HFILL }},
4760 { &hf_x420_reply_requested,
4761 { "reply-requested", "x420.reply_requested",
4762 FT_BOOLEAN, 8, NULL, 0,
4763 "x420.BOOLEAN", HFILL }},
4764 { &hf_x420_recipient_extensions,
4765 { "recipient-extensions", "x420.recipient_extensions",
4766 FT_UINT32, BASE_DEC, NULL, 0,
4767 "x420.RecipientExtensionsField", HFILL }},
4768 { &hf_x420_formal_name,
4769 { "formal-name", "x420.formal_name",
4770 FT_NONE, BASE_NONE, NULL, 0,
4771 "x411.ORName", HFILL }},
4772 { &hf_x420_free_form_name,
4773 { "free-form-name", "x420.free_form_name",
4774 FT_STRING, BASE_NONE, NULL, 0,
4775 "x420.FreeFormName", HFILL }},
4776 { &hf_x420_telephone_number,
4777 { "telephone-number", "x420.telephone_number",
4778 FT_STRING, BASE_NONE, NULL, 0,
4779 "x420.TelephoneNumber", HFILL }},
4780 { &hf_x420_RecipientExtensionsField_item,
4781 { "RecipientExtensionsField", "x420.RecipientExtensionsField_item",
4782 FT_NONE, BASE_NONE, NULL, 0,
4783 "x420.IPMSExtension", HFILL }},
4784 { &hf_x420_AuthorizingUsersField_item,
4785 { "AuthorizingUsersField", "x420.AuthorizingUsersField_item",
4786 FT_NONE, BASE_NONE, NULL, 0,
4787 "x420.AuthorizingUsersSubfield", HFILL }},
4788 { &hf_x420_PrimaryRecipientsField_item,
4789 { "PrimaryRecipientsField", "x420.PrimaryRecipientsField_item",
4790 FT_NONE, BASE_NONE, NULL, 0,
4791 "x420.PrimaryRecipientsSubfield", HFILL }},
4792 { &hf_x420_CopyRecipientsField_item,
4793 { "CopyRecipientsField", "x420.CopyRecipientsField_item",
4794 FT_NONE, BASE_NONE, NULL, 0,
4795 "x420.CopyRecipientsSubfield", HFILL }},
4796 { &hf_x420_BlindCopyRecipientsField_item,
4797 { "BlindCopyRecipientsField", "x420.BlindCopyRecipientsField_item",
4798 FT_NONE, BASE_NONE, NULL, 0,
4799 "x420.BlindCopyRecipientsSubfield", HFILL }},
4800 { &hf_x420_ObsoletedIPMsField_item,
4801 { "ObsoletedIPMsField", "x420.ObsoletedIPMsField_item",
4802 FT_NONE, BASE_NONE, NULL, 0,
4803 "x420.ObsoletedIPMsSubfield", HFILL }},
4804 { &hf_x420_RelatedIPMsField_item,
4805 { "RelatedIPMsField", "x420.RelatedIPMsField_item",
4806 FT_NONE, BASE_NONE, NULL, 0,
4807 "x420.RelatedIPMsSubfield", HFILL }},
4808 { &hf_x420_ReplyRecipientsField_item,
4809 { "ReplyRecipientsField", "x420.ReplyRecipientsField_item",
4810 FT_NONE, BASE_NONE, NULL, 0,
4811 "x420.ReplyRecipientsSubfield", HFILL }},
4812 { &hf_x420_ExtensionsField_item,
4813 { "ExtensionsField", "x420.ExtensionsField_item",
4814 FT_NONE, BASE_NONE, NULL, 0,
4815 "x420.IPMSExtension", HFILL }},
4816 { &hf_x420_Body_item,
4817 { "Body", "x420.Body_item",
4818 FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0,
4819 "x420.BodyPart", HFILL }},
4821 { "basic", "x420.basic",
4822 FT_UINT32, BASE_DEC, VALS(x420_T_basic_vals), 0,
4823 "x420.T_basic", HFILL }},
4824 { &hf_x420_ia5_text,
4825 { "ia5-text", "x420.ia5_text",
4826 FT_NONE, BASE_NONE, NULL, 0,
4827 "x420.IA5TextBodyPart", HFILL }},
4828 { &hf_x420_g3_facsimile,
4829 { "g3-facsimile", "x420.g3_facsimile",
4830 FT_NONE, BASE_NONE, NULL, 0,
4831 "x420.G3FacsimileBodyPart", HFILL }},
4832 { &hf_x420_g4_class1,
4833 { "g4-class1", "x420.g4_class1",
4834 FT_UINT32, BASE_DEC, NULL, 0,
4835 "x420.G4Class1BodyPart", HFILL }},
4837 { "teletex", "x420.teletex",
4838 FT_NONE, BASE_NONE, NULL, 0,
4839 "x420.TeletexBodyPart", HFILL }},
4840 { &hf_x420_videotex,
4841 { "videotex", "x420.videotex",
4842 FT_NONE, BASE_NONE, NULL, 0,
4843 "x420.VideotexBodyPart", HFILL }},
4844 { &hf_x420_encrypted_bp,
4845 { "encrypted", "x420.encrypted",
4846 FT_NONE, BASE_NONE, NULL, 0,
4847 "x420.EncryptedBodyPart", HFILL }},
4849 { "message", "x420.message",
4850 FT_NONE, BASE_NONE, NULL, 0,
4851 "x420.MessageBodyPart", HFILL }},
4852 { &hf_x420_mixed_mode,
4853 { "mixed-mode", "x420.mixed_mode",
4854 FT_UINT32, BASE_DEC, NULL, 0,
4855 "x420.MixedModeBodyPart", HFILL }},
4856 { &hf_x420_bilaterally_defined,
4857 { "bilaterally-defined", "x420.bilaterally_defined",
4858 FT_BYTES, BASE_HEX, NULL, 0,
4859 "x420.BilaterallyDefinedBodyPart", HFILL }},
4860 { &hf_x420_nationally_defined,
4861 { "nationally-defined", "x420.nationally_defined",
4862 FT_NONE, BASE_NONE, NULL, 0,
4863 "x420.NationallyDefinedBodyPart", HFILL }},
4864 { &hf_x420_extended,
4865 { "extended", "x420.extended",
4866 FT_NONE, BASE_NONE, NULL, 0,
4867 "x420.ExtendedBodyPart", HFILL }},
4868 { &hf_x420_extended_parameters,
4869 { "parameters", "x420.parameters",
4870 FT_NONE, BASE_NONE, NULL, 0,
4871 "x420.INSTANCE_OF", HFILL }},
4872 { &hf_x420_extended_data,
4873 { "data", "x420.data",
4874 FT_NONE, BASE_NONE, NULL, 0,
4875 "x420.INSTANCE_OF", HFILL }},
4876 { &hf_x420_ia5text_parameters,
4877 { "parameters", "x420.parameters",
4878 FT_NONE, BASE_NONE, NULL, 0,
4879 "x420.IA5TextParameters", HFILL }},
4880 { &hf_x420_ia5text_data,
4881 { "data", "x420.data",
4882 FT_STRING, BASE_NONE, NULL, 0,
4883 "x420.IA5TextData", HFILL }},
4884 { &hf_x420_repertoire,
4885 { "repertoire", "x420.repertoire",
4886 FT_UINT32, BASE_DEC, VALS(x420_Repertoire_vals), 0,
4887 "x420.Repertoire", HFILL }},
4888 { &hf_x420_g3facsimile_parameters,
4889 { "parameters", "x420.parameters",
4890 FT_NONE, BASE_NONE, NULL, 0,
4891 "x420.G3FacsimileParameters", HFILL }},
4892 { &hf_x420_g3facsimile_data,
4893 { "data", "x420.data",
4894 FT_UINT32, BASE_DEC, NULL, 0,
4895 "x420.G3FacsimileData", HFILL }},
4896 { &hf_x420_number_of_pages,
4897 { "number-of-pages", "x420.number_of_pages",
4898 FT_INT32, BASE_DEC, NULL, 0,
4899 "x420.INTEGER", HFILL }},
4900 { &hf_x420_g3facsimile_non_basic_parameters,
4901 { "non-basic-parameters", "x420.non_basic_parameters",
4902 FT_BYTES, BASE_HEX, NULL, 0,
4903 "x411.G3FacsimileNonBasicParameters", HFILL }},
4904 { &hf_x420_G3FacsimileData_item,
4905 { "G3FacsimileData", "x420.G3FacsimileData_item",
4906 FT_BYTES, BASE_HEX, NULL, 0,
4907 "x420.BIT_STRING", HFILL }},
4908 { &hf_x420_G4Class1BodyPart_item,
4909 { "G4Class1BodyPart", "x420.G4Class1BodyPart_item",
4910 FT_NONE, BASE_NONE, NULL, 0,
4911 "x420.Interchange_Data_Element", HFILL }},
4912 { &hf_x420_MixedModeBodyPart_item,
4913 { "MixedModeBodyPart", "x420.MixedModeBodyPart_item",
4914 FT_NONE, BASE_NONE, NULL, 0,
4915 "x420.Interchange_Data_Element", HFILL }},
4916 { &hf_x420_teletex_parameters,
4917 { "parameters", "x420.parameters",
4918 FT_NONE, BASE_NONE, NULL, 0,
4919 "x420.TeletexParameters", HFILL }},
4920 { &hf_x420_teletex_data,
4921 { "data", "x420.data",
4922 FT_UINT32, BASE_DEC, NULL, 0,
4923 "x420.TeletexData", HFILL }},
4924 { &hf_x420_telex_compatible,
4925 { "telex-compatible", "x420.telex_compatible",
4926 FT_BOOLEAN, 8, NULL, 0,
4927 "x420.BOOLEAN", HFILL }},
4928 { &hf_x420_teletex_non_basic_parameters,
4929 { "non-basic-parameters", "x420.non_basic_parameters",
4930 FT_NONE, BASE_NONE, NULL, 0,
4931 "x411.TeletexNonBasicParameters", HFILL }},
4932 { &hf_x420_TeletexData_item,
4933 { "TeletexData", "x420.TeletexData_item",
4934 FT_STRING, BASE_NONE, NULL, 0,
4935 "x420.TeletexString", HFILL }},
4936 { &hf_x420_videotex_parameters,
4937 { "parameters", "x420.parameters",
4938 FT_NONE, BASE_NONE, NULL, 0,
4939 "x420.VideotexParameters", HFILL }},
4940 { &hf_x420_videotex_data,
4941 { "data", "x420.data",
4942 FT_STRING, BASE_NONE, NULL, 0,
4943 "x420.VideotexData", HFILL }},
4945 { "syntax", "x420.syntax",
4946 FT_INT32, BASE_DEC, VALS(x420_VideotexSyntax_vals), 0,
4947 "x420.VideotexSyntax", HFILL }},
4948 { &hf_x420_encrypted_parameters,
4949 { "parameters", "x420.parameters",
4950 FT_NONE, BASE_NONE, NULL, 0,
4951 "x420.EncryptedParameters", HFILL }},
4952 { &hf_x420_encrypted_data,
4953 { "data", "x420.data",
4954 FT_BYTES, BASE_HEX, NULL, 0,
4955 "x420.EncryptedData", HFILL }},
4956 { &hf_x420_algorithm_identifier,
4957 { "algorithm-identifier", "x420.algorithm_identifier",
4958 FT_NONE, BASE_NONE, NULL, 0,
4959 "x509af.AlgorithmIdentifier", HFILL }},
4960 { &hf_x420_originator_certificates,
4961 { "originator-certificates", "x420.originator_certificates",
4962 FT_UINT32, BASE_DEC, NULL, 0,
4963 "x411.ExtendedCertificates", HFILL }},
4964 { &hf_x420_message_parameters,
4965 { "parameters", "x420.parameters",
4966 FT_NONE, BASE_NONE, NULL, 0,
4967 "x420.MessageParameters", HFILL }},
4968 { &hf_x420_message_data,
4969 { "data", "x420.data",
4970 FT_NONE, BASE_NONE, NULL, 0,
4971 "x420.MessageData", HFILL }},
4972 { &hf_x420_delivery_time,
4973 { "delivery-time", "x420.delivery_time",
4974 FT_STRING, BASE_NONE, NULL, 0,
4975 "x411.MessageDeliveryTime", HFILL }},
4976 { &hf_x420_delivery_envelope,
4977 { "delivery-envelope", "x420.delivery_envelope",
4978 FT_NONE, BASE_NONE, NULL, 0,
4979 "x411.OtherMessageDeliveryFields", HFILL }},
4980 { &hf_x420_subject_ipm,
4981 { "subject-ipm", "x420.subject_ipm",
4982 FT_NONE, BASE_NONE, NULL, 0,
4983 "x420.SubjectIPMField", HFILL }},
4984 { &hf_x420_ipn_originator,
4985 { "ipn-originator", "x420.ipn_originator",
4986 FT_NONE, BASE_NONE, NULL, 0,
4987 "x420.IPNOriginatorField", HFILL }},
4988 { &hf_x420_ipm_intended_recipient,
4989 { "ipm-intended-recipient", "x420.ipm_intended_recipient",
4990 FT_NONE, BASE_NONE, NULL, 0,
4991 "x420.IPMIntendedRecipientField", HFILL }},
4992 { &hf_x420_conversion_eits,
4993 { "conversion-eits", "x420.conversion_eits",
4994 FT_NONE, BASE_NONE, NULL, 0,
4995 "x420.ConversionEITsField", HFILL }},
4996 { &hf_x420_notification_extensions,
4997 { "notification-extensions", "x420.notification_extensions",
4998 FT_UINT32, BASE_DEC, NULL, 0,
4999 "x420.NotificationExtensionsField", HFILL }},
5000 { &hf_x420_non_receipt_reason,
5001 { "non-receipt-reason", "x420.non_receipt_reason",
5002 FT_UINT32, BASE_DEC, VALS(x420_NonReceiptReasonField_vals), 0,
5003 "x420.NonReceiptReasonField", HFILL }},
5004 { &hf_x420_discard_reason,
5005 { "discard-reason", "x420.discard_reason",
5006 FT_UINT32, BASE_DEC, VALS(x420_DiscardReasonField_vals), 0,
5007 "x420.DiscardReasonField", HFILL }},
5008 { &hf_x420_auto_forward_comment,
5009 { "auto-forward-comment", "x420.auto_forward_comment",
5010 FT_STRING, BASE_NONE, NULL, 0,
5011 "x420.AutoForwardCommentField", HFILL }},
5012 { &hf_x420_returned_ipm,
5013 { "returned-ipm", "x420.returned_ipm",
5014 FT_NONE, BASE_NONE, NULL, 0,
5015 "x420.ReturnedIPMField", HFILL }},
5016 { &hf_x420_nrn_extensions,
5017 { "nrn-extensions", "x420.nrn_extensions",
5018 FT_UINT32, BASE_DEC, NULL, 0,
5019 "x420.NRNExtensionsField", HFILL }},
5020 { &hf_x420_receipt_time,
5021 { "receipt-time", "x420.receipt_time",
5022 FT_STRING, BASE_NONE, NULL, 0,
5023 "x420.ReceiptTimeField", HFILL }},
5024 { &hf_x420_acknowledgment_mode,
5025 { "acknowledgment-mode", "x420.acknowledgment_mode",
5026 FT_UINT32, BASE_DEC, VALS(x420_AcknowledgmentModeField_vals), 0,
5027 "x420.AcknowledgmentModeField", HFILL }},
5028 { &hf_x420_suppl_receipt_info,
5029 { "suppl-receipt-info", "x420.suppl_receipt_info",
5030 FT_STRING, BASE_NONE, NULL, 0,
5031 "x420.SupplReceiptInfoField", HFILL }},
5032 { &hf_x420_rn_extensions,
5033 { "rn-extensions", "x420.rn_extensions",
5034 FT_UINT32, BASE_DEC, NULL, 0,
5035 "x420.RNExtensionsField", HFILL }},
5036 { &hf_x420_NotificationExtensionsField_item,
5037 { "NotificationExtensionsField", "x420.NotificationExtensionsField_item",
5038 FT_NONE, BASE_NONE, NULL, 0,
5039 "x420.IPMSExtension", HFILL }},
5040 { &hf_x420_NRNExtensionsField_item,
5041 { "NRNExtensionsField", "x420.NRNExtensionsField_item",
5042 FT_NONE, BASE_NONE, NULL, 0,
5043 "x420.IPMSExtension", HFILL }},
5044 { &hf_x420_RNExtensionsField_item,
5045 { "RNExtensionsField", "x420.RNExtensionsField_item",
5046 FT_NONE, BASE_NONE, NULL, 0,
5047 "x420.IPMSExtension", HFILL }},
5048 { &hf_x420_OtherNotificationTypeFields_item,
5049 { "OtherNotificationTypeFields", "x420.OtherNotificationTypeFields_item",
5050 FT_NONE, BASE_NONE, NULL, 0,
5051 "x420.IPMSExtension", HFILL }},
5053 { "advice", "x420.advice",
5054 FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0,
5055 "x420.BodyPart", HFILL }},
5056 { &hf_x420_next_available,
5057 { "next-available", "x420.next_available",
5058 FT_STRING, BASE_NONE, NULL, 0,
5059 "x420.Time", HFILL }},
5060 { &hf_x420_new_address,
5061 { "new-address", "x420.new_address",
5062 FT_NONE, BASE_NONE, NULL, 0,
5063 "x420.ORDescriptor", HFILL }},
5064 { &hf_x420_effective_from,
5065 { "effective-from", "x420.effective_from",
5066 FT_STRING, BASE_NONE, NULL, 0,
5067 "x420.Time", HFILL }},
5068 { &hf_x420_assembly_instructions,
5069 { "assembly-instructions", "x420.assembly_instructions",
5070 FT_UINT32, BASE_DEC, NULL, 0,
5071 "x420.BodyPartReferences", HFILL }},
5072 { &hf_x420_BodyPartReferences_item,
5073 { "BodyPartReferences", "x420.BodyPartReferences_item",
5074 FT_UINT32, BASE_DEC, VALS(x420_BodyPartReference_vals), 0,
5075 "x420.BodyPartReference", HFILL }},
5076 { &hf_x420_stored_entry,
5077 { "stored-entry", "x420.stored_entry",
5078 FT_UINT32, BASE_DEC, NULL, 0,
5079 "p7.SequenceNumber", HFILL }},
5080 { &hf_x420_stored_content,
5081 { "stored-content", "x420.stored_content",
5082 FT_UINT32, BASE_DEC, NULL, 0,
5083 "p7.SequenceNumber", HFILL }},
5084 { &hf_x420_submitted_body_part,
5085 { "submitted-body-part", "x420.submitted_body_part",
5086 FT_UINT32, BASE_DEC, NULL, 0,
5087 "x420.INTEGER_1_MAX", HFILL }},
5088 { &hf_x420_stored_body_part,
5089 { "stored-body-part", "x420.stored_body_part",
5090 FT_NONE, BASE_NONE, NULL, 0,
5091 "x420.T_stored_body_part", HFILL }},
5092 { &hf_x420_message_entry,
5093 { "message-entry", "x420.message_entry",
5094 FT_UINT32, BASE_DEC, NULL, 0,
5095 "p7.SequenceNumber", HFILL }},
5096 { &hf_x420_body_part_number,
5097 { "body-part-number", "x420.body_part_number",
5098 FT_UINT32, BASE_DEC, NULL, 0,
5099 "x420.BodyPartNumber", HFILL }},
5100 { &hf_x420_Languages_item,
5101 { "Languages", "x420.Languages_item",
5102 FT_STRING, BASE_NONE, NULL, 0,
5103 "x420.Language", HFILL }},
5104 { &hf_x420_BodyPartSignatures_item,
5105 { "BodyPartSignatures", "x420.BodyPartSignatures_item",
5106 FT_NONE, BASE_NONE, NULL, 0,
5107 "x420.BodyPartSignatures_item", HFILL }},
5108 { &hf_x420_body_part_signature,
5109 { "body-part-signature", "x420.body_part_signature",
5110 FT_NONE, BASE_NONE, NULL, 0,
5111 "x420.BodyPartSignature", HFILL }},
5112 { &hf_x420_originator_certificate_selector,
5113 { "originator-certificate-selector", "x420.originator_certificate_selector",
5114 FT_NONE, BASE_NONE, NULL, 0,
5115 "x509ce.CertificateAssertion", HFILL }},
5116 { &hf_x420_algorithmIdentifier,
5117 { "algorithmIdentifier", "x420.algorithmIdentifier",
5118 FT_NONE, BASE_NONE, NULL, 0,
5119 "x509af.AlgorithmIdentifier", HFILL }},
5120 { &hf_x420_encrypted,
5121 { "encrypted", "x420.encrypted",
5122 FT_BYTES, BASE_HEX, NULL, 0,
5123 "x420.BIT_STRING", HFILL }},
5124 { &hf_x420_content_security_label,
5125 { "content-security-label", "x420.content_security_label",
5126 FT_NONE, BASE_NONE, NULL, 0,
5127 "x411.SecurityLabel", HFILL }},
5128 { &hf_x420_heading_security_label,
5129 { "heading-security-label", "x420.heading_security_label",
5130 FT_NONE, BASE_NONE, NULL, 0,
5131 "x411.SecurityLabel", HFILL }},
5132 { &hf_x420_body_part_security_labels,
5133 { "body-part-security-labels", "x420.body_part_security_labels",
5134 FT_UINT32, BASE_DEC, NULL, 0,
5135 "x420.SEQUENCE_OF_BodyPartSecurityLabel", HFILL }},
5136 { &hf_x420_body_part_security_labels_item,
5137 { "body-part-security-labels", "x420.body_part_security_labels_item",
5138 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0,
5139 "x420.BodyPartSecurityLabel", HFILL }},
5140 { &hf_x420_body_part_unlabelled,
5141 { "body-part-unlabelled", "x420.body_part_unlabelled",
5142 FT_NONE, BASE_NONE, NULL, 0,
5143 "x420.NULL", HFILL }},
5144 { &hf_x420_body_part_security_label,
5145 { "body-part-security-label", "x420.body_part_security_label",
5146 FT_NONE, BASE_NONE, NULL, 0,
5147 "x411.SecurityLabel", HFILL }},
5148 { &hf_x420_CirculationList_item,
5149 { "CirculationList", "x420.CirculationList_item",
5150 FT_NONE, BASE_NONE, NULL, 0,
5151 "x420.CirculationMember", HFILL }},
5152 { &hf_x420_circulation_recipient,
5153 { "circulation-recipient", "x420.circulation_recipient",
5154 FT_NONE, BASE_NONE, NULL, 0,
5155 "x420.RecipientSpecifier", HFILL }},
5157 { "checked", "x420.checked",
5158 FT_UINT32, BASE_DEC, VALS(x420_Checkmark_vals), 0,
5159 "x420.Checkmark", HFILL }},
5161 { "simple", "x420.simple",
5162 FT_NONE, BASE_NONE, NULL, 0,
5163 "x420.NULL", HFILL }},
5164 { &hf_x420_timestamped,
5165 { "timestamped", "x420.timestamped",
5166 FT_STRING, BASE_NONE, NULL, 0,
5167 "x420.CirculationTime", HFILL }},
5169 { "signed", "x420.signed",
5170 FT_NONE, BASE_NONE, NULL, 0,
5171 "x420.CirculationSignature", HFILL }},
5172 { &hf_x420_circulation_signature_algorithm_identifier,
5173 { "algorithm-identifier", "x420.algorithm_identifier",
5174 FT_NONE, BASE_NONE, NULL, 0,
5175 "x420.CirculationSignatureAlgorithmIdentifier", HFILL }},
5176 { &hf_x420_timestamp,
5177 { "timestamp", "x420.timestamp",
5178 FT_STRING, BASE_NONE, NULL, 0,
5179 "x420.CirculationTime", HFILL }},
5180 { &hf_x420_circulation_signature_data,
5181 { "circulation-signature-data", "x420.circulation_signature_data",
5182 FT_NONE, BASE_NONE, NULL, 0,
5183 "x420.CirculationSignatureData", HFILL }},
5184 { &hf_x420_DistributionCodes_item,
5185 { "DistributionCodes", "x420.DistributionCodes_item",
5186 FT_NONE, BASE_NONE, NULL, 0,
5187 "x420.DistributionCode", HFILL }},
5188 { &hf_x420_oid_code,
5189 { "oid-code", "x420.oid_code",
5190 FT_OID, BASE_NONE, NULL, 0,
5191 "x420.OBJECT_IDENTIFIER", HFILL }},
5192 { &hf_x420_alphanumeric_code,
5193 { "alphanumeric-code", "x420.alphanumeric_code",
5194 FT_NONE, BASE_NONE, NULL, 0,
5195 "x420.AlphaCode", HFILL }},
5196 { &hf_x420_or_descriptor,
5197 { "or-descriptor", "x420.or_descriptor",
5198 FT_NONE, BASE_NONE, NULL, 0,
5199 "x420.ORDescriptor", HFILL }},
5200 { &hf_x420_InformationCategories_item,
5201 { "InformationCategories", "x420.InformationCategories_item",
5202 FT_NONE, BASE_NONE, NULL, 0,
5203 "x420.InformationCategory", HFILL }},
5204 { &hf_x420_reference,
5205 { "reference", "x420.reference",
5206 FT_OID, BASE_NONE, NULL, 0,
5207 "x420.OBJECT_IDENTIFIER", HFILL }},
5208 { &hf_x420_description,
5209 { "description", "x420.description",
5210 FT_NONE, BASE_NONE, NULL, 0,
5211 "x420.DescriptionString", HFILL }},
5212 { &hf_x420_ManualHandlingInstructions_item,
5213 { "ManualHandlingInstructions", "x420.ManualHandlingInstructions_item",
5214 FT_NONE, BASE_NONE, NULL, 0,
5215 "x420.ManualHandlingInstruction", HFILL }},
5216 { &hf_x420_GeneralTextParameters_item,
5217 { "GeneralTextParameters", "x420.GeneralTextParameters_item",
5218 FT_UINT32, BASE_DEC, NULL, 0,
5219 "x420.CharacterSetRegistration", HFILL }},
5220 { &hf_x420_related_stored_file,
5221 { "related-stored-file", "x420.related_stored_file",
5222 FT_UINT32, BASE_DEC, NULL, 0,
5223 "x420.RelatedStoredFile", HFILL }},
5224 { &hf_x420_contents_type,
5225 { "contents-type", "x420.contents_type",
5226 FT_UINT32, BASE_DEC, VALS(x420_Contents_Type_Attribute_vals), 0,
5227 "x420.ContentsTypeParameter", HFILL }},
5228 { &hf_x420_environment,
5229 { "environment", "x420.environment",
5230 FT_NONE, BASE_NONE, NULL, 0,
5231 "x420.EnvironmentParameter", HFILL }},
5232 { &hf_x420_compression,
5233 { "compression", "x420.compression",
5234 FT_NONE, BASE_NONE, NULL, 0,
5235 "x420.CompressionParameter", HFILL }},
5236 { &hf_x420_file_attributes,
5237 { "file-attributes", "x420.file_attributes",
5238 FT_NONE, BASE_NONE, NULL, 0,
5239 "x420.FileAttributes", HFILL }},
5240 { &hf_x420_FileTransferData_item,
5241 { "FileTransferData", "x420.FileTransferData_item",
5242 FT_NONE, BASE_NONE, NULL, 0,
5243 "x420.EXTERNAL", HFILL }},
5244 { &hf_x420_RelatedStoredFile_item,
5245 { "RelatedStoredFile", "x420.RelatedStoredFile_item",
5246 FT_NONE, BASE_NONE, NULL, 0,
5247 "x420.RelatedStoredFile_item", HFILL }},
5248 { &hf_x420_file_identifier,
5249 { "file-identifier", "x420.file_identifier",
5250 FT_UINT32, BASE_DEC, VALS(x420_FileIdentifier_vals), 0,
5251 "x420.FileIdentifier", HFILL }},
5252 { &hf_x420_relationship,
5253 { "relationship", "x420.relationship",
5254 FT_UINT32, BASE_DEC, VALS(x420_Relationship_vals), 0,
5255 "x420.Relationship", HFILL }},
5256 { &hf_x420_pathname_and_version,
5257 { "pathname-and-version", "x420.pathname_and_version",
5258 FT_NONE, BASE_NONE, NULL, 0,
5259 "x420.PathnameandVersion", HFILL }},
5260 { &hf_x420_cross_reference,
5261 { "cross-reference", "x420.cross_reference",
5262 FT_NONE, BASE_NONE, NULL, 0,
5263 "x420.CrossReference", HFILL }},
5264 { &hf_x420_pathname,
5265 { "pathname", "x420.pathname",
5266 FT_UINT32, BASE_DEC, VALS(x420_Pathname_Attribute_vals), 0,
5267 "x420.Pathname_Attribute", HFILL }},
5268 { &hf_x420_file_version,
5269 { "file-version", "x420.file_version",
5270 FT_STRING, BASE_NONE, NULL, 0,
5271 "x420.GraphicString", HFILL }},
5272 { &hf_x420_application_cross_reference,
5273 { "application-cross-reference", "x420.application_cross_reference",
5274 FT_BYTES, BASE_HEX, NULL, 0,
5275 "x420.OCTET_STRING", HFILL }},
5276 { &hf_x420_message_reference,
5277 { "message-reference", "x420.message_reference",
5278 FT_NONE, BASE_NONE, NULL, 0,
5279 "x420.MessageReference", HFILL }},
5280 { &hf_x420_body_part_reference,
5281 { "body-part-reference", "x420.body_part_reference",
5282 FT_INT32, BASE_DEC, NULL, 0,
5283 "x420.INTEGER", HFILL }},
5284 { &hf_x420_user_relative_identifier_ref,
5285 { "user-relative-identifier", "x420.user_relative_identifier",
5286 FT_STRING, BASE_NONE, NULL, 0,
5287 "x420.PrintableString", HFILL }},
5288 { &hf_x420_explicit_relationship,
5289 { "explicit-relationship", "x420.explicit_relationship",
5290 FT_INT32, BASE_DEC, VALS(x420_ExplicitRelationship_vals), 0,
5291 "x420.ExplicitRelationship", HFILL }},
5292 { &hf_x420_descriptive_relationship,
5293 { "descriptive-relationship", "x420.descriptive_relationship",
5294 FT_STRING, BASE_NONE, NULL, 0,
5295 "x420.GraphicString", HFILL }},
5296 { &hf_x420_document_type,
5297 { "document-type", "x420.document_type",
5298 FT_NONE, BASE_NONE, NULL, 0,
5299 "x420.T_document_type", HFILL }},
5300 { &hf_x420_document_type_name,
5301 { "document-type-name", "x420.document_type_name",
5302 FT_OID, BASE_NONE, NULL, 0,
5303 "x420.Document_Type_Name", HFILL }},
5304 { &hf_x420_parameter,
5305 { "parameter", "x420.parameter",
5306 FT_NONE, BASE_NONE, NULL, 0,
5307 "x420.T_parameter", HFILL }},
5308 { &hf_x420_constraint_set_and_abstract_syntax,
5309 { "constraint-set-and-abstract-syntax", "x420.constraint_set_and_abstract_syntax",
5310 FT_NONE, BASE_NONE, NULL, 0,
5311 "x420.T_constraint_set_and_abstract_syntax", HFILL }},
5312 { &hf_x420_constraint_set_name,
5313 { "constraint-set-name", "x420.constraint_set_name",
5314 FT_OID, BASE_NONE, NULL, 0,
5315 "x420.Constraint_Set_Name", HFILL }},
5316 { &hf_x420_abstract_syntax_name,
5317 { "abstract-syntax-name", "x420.abstract_syntax_name",
5318 FT_OID, BASE_NONE, NULL, 0,
5319 "x420.Abstract_Syntax_Name", HFILL }},
5320 { &hf_x420_application_reference,
5321 { "application-reference", "x420.application_reference",
5322 FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
5323 "x420.GeneralIdentifier", HFILL }},
5325 { "machine", "x420.machine",
5326 FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
5327 "x420.GeneralIdentifier", HFILL }},
5328 { &hf_x420_operating_system,
5329 { "operating-system", "x420.operating_system",
5330 FT_OID, BASE_NONE, NULL, 0,
5331 "x420.OBJECT_IDENTIFIER", HFILL }},
5332 { &hf_x420_user_visible_string,
5333 { "user-visible-string", "x420.user_visible_string",
5334 FT_UINT32, BASE_DEC, NULL, 0,
5335 "x420.T_user_visible_string", HFILL }},
5336 { &hf_x420_user_visible_string_item,
5337 { "user-visible-string", "x420.user_visible_string_item",
5338 FT_STRING, BASE_NONE, NULL, 0,
5339 "x420.GraphicString", HFILL }},
5340 { &hf_x420_registered_identifier,
5341 { "registered-identifier", "x420.registered_identifier",
5342 FT_OID, BASE_NONE, NULL, 0,
5343 "x420.OBJECT_IDENTIFIER", HFILL }},
5344 { &hf_x420_descriptive_identifier,
5345 { "descriptive-identifier", "x420.descriptive_identifier",
5346 FT_UINT32, BASE_DEC, NULL, 0,
5347 "x420.T_descriptive_identifier", HFILL }},
5348 { &hf_x420_descriptive_identifier_item,
5349 { "descriptive-identifier", "x420.descriptive_identifier_item",
5350 FT_STRING, BASE_NONE, NULL, 0,
5351 "x420.GraphicString", HFILL }},
5352 { &hf_x420_compression_algorithm_id,
5353 { "compression-algorithm-id", "x420.compression_algorithm_id",
5354 FT_NONE, BASE_NONE, NULL, 0,
5355 "x420.T_compression_algorithm_id", HFILL }},
5356 { &hf_x420_compression_algorithm_param,
5357 { "compression-algorithm-param", "x420.compression_algorithm_param",
5358 FT_NONE, BASE_NONE, NULL, 0,
5359 "x420.T_compression_algorithm_param", HFILL }},
5360 { &hf_x420_permitted_actions,
5361 { "permitted-actions", "x420.permitted_actions",
5362 FT_BYTES, BASE_HEX, NULL, 0,
5363 "ftam.Permitted_Actions_Attribute", HFILL }},
5364 { &hf_x420_storage_account,
5365 { "storage-account", "x420.storage_account",
5366 FT_UINT32, BASE_DEC, VALS(x420_Account_Attribute_vals), 0,
5367 "x420.Account_Attribute", HFILL }},
5368 { &hf_x420_date_and_time_of_creation,
5369 { "date-and-time-of-creation", "x420.date_and_time_of_creation",
5370 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5371 "ftam.Date_and_Time_Attribute", HFILL }},
5372 { &hf_x420_date_and_time_of_last_modification,
5373 { "date-and-time-of-last-modification", "x420.date_and_time_of_last_modification",
5374 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5375 "ftam.Date_and_Time_Attribute", HFILL }},
5376 { &hf_x420_date_and_time_of_last_read_access,
5377 { "date-and-time-of-last-read-access", "x420.date_and_time_of_last_read_access",
5378 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5379 "ftam.Date_and_Time_Attribute", HFILL }},
5380 { &hf_x420_date_and_time_of_last_attribute_modification,
5381 { "date-and-time-of-last-attribute-modification", "x420.date_and_time_of_last_attribute_modification",
5382 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5383 "ftam.Date_and_Time_Attribute", HFILL }},
5384 { &hf_x420_identity_of_creator,
5385 { "identity-of-creator", "x420.identity_of_creator",
5386 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5387 "x420.User_Identity_Attribute", HFILL }},
5388 { &hf_x420_identity_of_last_modifier,
5389 { "identity-of-last-modifier", "x420.identity_of_last_modifier",
5390 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5391 "x420.User_Identity_Attribute", HFILL }},
5392 { &hf_x420_identity_of_last_reader,
5393 { "identity-of-last-reader", "x420.identity_of_last_reader",
5394 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5395 "x420.User_Identity_Attribute", HFILL }},
5396 { &hf_x420_identity_of_last_attribute_modifier,
5397 { "identity-of-last-attribute-modifier", "x420.identity_of_last_attribute_modifier",
5398 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5399 "x420.User_Identity_Attribute", HFILL }},
5400 { &hf_x420_object_availability,
5401 { "object-availability", "x420.object_availability",
5402 FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
5403 "ftam.Object_Availability_Attribute", HFILL }},
5404 { &hf_x420_object_size,
5405 { "object-size", "x420.object_size",
5406 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5407 "ftam.Object_Size_Attribute", HFILL }},
5408 { &hf_x420_future_object_size,
5409 { "future-object-size", "x420.future_object_size",
5410 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5411 "ftam.Object_Size_Attribute", HFILL }},
5412 { &hf_x420_access_control,
5413 { "access-control", "x420.access_control",
5414 FT_UINT32, BASE_DEC, VALS(x420_Access_Control_Attribute_vals), 0,
5415 "x420.Access_Control_Attribute", HFILL }},
5416 { &hf_x420_legal_qualifications,
5417 { "legal-qualifications", "x420.legal_qualifications",
5418 FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
5419 "ftam.Legal_Qualification_Attribute", HFILL }},
5420 { &hf_x420_private_use,
5421 { "private-use", "x420.private_use",
5422 FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
5423 "ftam.Private_Use_Attribute", HFILL }},
5424 { &hf_x420_attribute_extensions,
5425 { "attribute-extensions", "x420.attribute_extensions",
5426 FT_UINT32, BASE_DEC, NULL, 0,
5427 "ftam.Attribute_Extensions", HFILL }},
5428 { &hf_x420_incomplete_pathname,
5429 { "incomplete-pathname", "x420.incomplete_pathname",
5430 FT_UINT32, BASE_DEC, NULL, 0,
5431 "ftam.Pathname", HFILL }},
5432 { &hf_x420_complete_pathname,
5433 { "complete-pathname", "x420.complete_pathname",
5434 FT_UINT32, BASE_DEC, NULL, 0,
5435 "ftam.Pathname", HFILL }},
5436 { &hf_x420_no_value_available,
5437 { "no-value-available", "x420.no_value_available",
5438 FT_NONE, BASE_NONE, NULL, 0,
5439 "x420.NULL", HFILL }},
5440 { &hf_x420_account_actual_values,
5441 { "actual-values", "x420.actual_values",
5442 FT_STRING, BASE_NONE, NULL, 0,
5443 "x420.Account", HFILL }},
5444 { &hf_x420_identity_actual_values,
5445 { "actual-values", "x420.actual_values",
5446 FT_STRING, BASE_NONE, NULL, 0,
5447 "x420.User_Identity", HFILL }},
5448 { &hf_x420_actual_values,
5449 { "actual-values", "x420.actual_values",
5450 FT_UINT32, BASE_DEC, NULL, 0,
5451 "x420.SET_OF_Access_Control_Element", HFILL }},
5452 { &hf_x420_actual_values_item,
5453 { "actual-values", "x420.actual_values_item",
5454 FT_NONE, BASE_NONE, NULL, 0,
5455 "x420.Access_Control_Element", HFILL }},
5456 { &hf_x420_action_list,
5457 { "action-list", "x420.action_list",
5458 FT_BYTES, BASE_HEX, NULL, 0,
5459 "x420.Access_Request", HFILL }},
5460 { &hf_x420_concurrency_access,
5461 { "concurrency-access", "x420.concurrency_access",
5462 FT_NONE, BASE_NONE, NULL, 0,
5463 "ftam.Concurrency_Access", HFILL }},
5464 { &hf_x420_identity,
5465 { "identity", "x420.identity",
5466 FT_STRING, BASE_NONE, NULL, 0,
5467 "x420.User_Identity", HFILL }},
5468 { &hf_x420_passwords,
5469 { "passwords", "x420.passwords",
5470 FT_NONE, BASE_NONE, NULL, 0,
5471 "x420.Access_Passwords", HFILL }},
5472 { &hf_x420_location,
5473 { "location", "x420.location",
5474 FT_NONE, BASE_NONE, NULL, 0,
5475 "x420.Application_Entity_Title", HFILL }},
5476 { &hf_x420_read_password,
5477 { "read-password", "x420.read_password",
5478 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5479 "x420.Password", HFILL }},
5480 { &hf_x420_insert_password,
5481 { "insert-password", "x420.insert_password",
5482 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5483 "x420.Password", HFILL }},
5484 { &hf_x420_replace_password,
5485 { "replace-password", "x420.replace_password",
5486 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5487 "x420.Password", HFILL }},
5488 { &hf_x420_extend_password,
5489 { "extend-password", "x420.extend_password",
5490 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5491 "x420.Password", HFILL }},
5492 { &hf_x420_erase_password,
5493 { "erase-password", "x420.erase_password",
5494 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5495 "x420.Password", HFILL }},
5496 { &hf_x420_read_attribute_password,
5497 { "read-attribute-password", "x420.read_attribute_password",
5498 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5499 "x420.Password", HFILL }},
5500 { &hf_x420_change_attribute_password,
5501 { "change-attribute-password", "x420.change_attribute_password",
5502 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5503 "x420.Password", HFILL }},
5504 { &hf_x420_delete_password,
5505 { "delete-password", "x420.delete_password",
5506 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5507 "x420.Password", HFILL }},
5508 { &hf_x420_pass_passwords,
5509 { "pass-passwords", "x420.pass_passwords",
5510 FT_UINT32, BASE_DEC, NULL, 0,
5511 "x420.Pass_Passwords", HFILL }},
5512 { &hf_x420_link_password,
5513 { "link-password", "x420.link_password",
5514 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5515 "x420.Password", HFILL }},
5516 { &hf_x420_graphic_string,
5517 { "graphic-string", "x420.graphic_string",
5518 FT_STRING, BASE_NONE, NULL, 0,
5519 "x420.GraphicString", HFILL }},
5520 { &hf_x420_octet_string,
5521 { "octet-string", "x420.octet_string",
5522 FT_BYTES, BASE_HEX, NULL, 0,
5523 "x420.OCTET_STRING", HFILL }},
5524 { &hf_x420_Pass_Passwords_item,
5525 { "Pass-Passwords", "x420.Pass_Passwords_item",
5526 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5527 "x420.Password", HFILL }},
5528 { &hf_x420_ap_title,
5529 { "ap-title", "x420.ap_title",
5530 FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
5531 "acse.AP_title", HFILL }},
5532 { &hf_x420_ae_qualifier,
5533 { "ae-qualifier", "x420.ae_qualifier",
5534 FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
5535 "acse.AE_qualifier", HFILL }},
5536 { &hf_x420_voice_message_duration,
5537 { "voice-message-duration", "x420.voice_message_duration",
5538 FT_INT32, BASE_DEC, NULL, 0,
5539 "x420.INTEGER", HFILL }},
5540 { &hf_x420_voice_encoding_type,
5541 { "voice-encoding-type", "x420.voice_encoding_type",
5542 FT_OID, BASE_NONE, NULL, 0,
5543 "x420.OBJECT_IDENTIFIER", HFILL }},
5544 { &hf_x420_supplementary_information,
5545 { "supplementary-information", "x420.supplementary_information",
5546 FT_STRING, BASE_NONE, NULL, 0,
5547 "x420.IA5String", HFILL }},
5548 { &hf_x420_mts_identifier,
5549 { "mts-identifier", "x420.mts_identifier",
5550 FT_NONE, BASE_NONE, NULL, 0,
5551 "x411.MessageDeliveryIdentifier", HFILL }},
5552 { &hf_x420_submission_proof,
5553 { "submission-proof", "x420.submission_proof",
5554 FT_NONE, BASE_NONE, NULL, 0,
5555 "x420.SubmissionProof", HFILL }},
5556 { &hf_x420_proof_of_submission,
5557 { "proof-of-submission", "x420.proof_of_submission",
5558 FT_NONE, BASE_NONE, NULL, 0,
5559 "x411.ProofOfSubmission", HFILL }},
5560 { &hf_x420_originating_MTA_certificate,
5561 { "originating-MTA-certificate", "x420.originating_MTA_certificate",
5562 FT_NONE, BASE_NONE, NULL, 0,
5563 "x411.OriginatingMTACertificate", HFILL }},
5564 { &hf_x420_message_submission_envelope,
5565 { "message-submission-envelope", "x420.message_submission_envelope",
5566 FT_NONE, BASE_NONE, NULL, 0,
5567 "x411.MessageSubmissionEnvelope", HFILL }},
5568 { &hf_x420_IPMSynopsis_item,
5569 { "IPMSynopsis", "x420.IPMSynopsis_item",
5570 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSynopsis_vals), 0,
5571 "x420.BodyPartSynopsis", HFILL }},
5572 { &hf_x420_message_synopsis,
5573 { "message", "x420.message",
5574 FT_NONE, BASE_NONE, NULL, 0,
5575 "x420.MessageBodyPartSynopsis", HFILL }},
5576 { &hf_x420_non_message,
5577 { "non-message", "x420.non_message",
5578 FT_NONE, BASE_NONE, NULL, 0,
5579 "x420.NonMessageBodyPartSynopsis", HFILL }},
5581 { "number", "x420.number",
5582 FT_UINT32, BASE_DEC, NULL, 0,
5583 "p7.SequenceNumber", HFILL }},
5584 { &hf_x420_synopsis,
5585 { "synopsis", "x420.synopsis",
5586 FT_UINT32, BASE_DEC, NULL, 0,
5587 "x420.IPMSynopsis", HFILL }},
5589 { "type", "x420.type",
5590 FT_OID, BASE_NONE, NULL, 0,
5591 "x420.OBJECT_IDENTIFIER", HFILL }},
5592 { &hf_x420_bp_parameters,
5593 { "parameters", "x420.parameters",
5594 FT_NONE, BASE_NONE, NULL, 0,
5595 "x420.INSTANCE_OF", HFILL }},
5597 { "size", "x420.size",
5598 FT_INT32, BASE_DEC, NULL, 0,
5599 "x420.INTEGER", HFILL }},
5600 { &hf_x420_processed,
5601 { "processed", "x420.processed",
5602 FT_BOOLEAN, 8, NULL, 0,
5603 "x420.BOOLEAN", HFILL }},
5605 { "data", "x420.data",
5606 FT_OID, BASE_NONE, NULL, 0,
5607 "x420.OBJECT_IDENTIFIER", HFILL }},
5608 { &hf_x420_parameters,
5609 { "parameters", "x420.parameters",
5610 FT_OID, BASE_NONE, NULL, 0,
5611 "x420.OBJECT_IDENTIFIER", HFILL }},
5612 { &hf_x420_this_child_entry,
5613 { "this-child-entry", "x420.this_child_entry",
5614 FT_UINT32, BASE_DEC, NULL, 0,
5615 "p7.SequenceNumber", HFILL }},
5616 { &hf_x420_position,
5617 { "position", "x420.position",
5618 FT_INT32, BASE_DEC, NULL, 0,
5619 "x420.INTEGER", HFILL }},
5620 { &hf_x420_BodyPartSignatureVerification_item,
5621 { "BodyPartSignatureVerification", "x420.BodyPartSignatureVerification_item",
5622 FT_NONE, BASE_NONE, NULL, 0,
5623 "x420.BodyPartSignatureVerification_item", HFILL }},
5624 { &hf_x420_body_part_sequence_number,
5625 { "body-part-sequence-number", "x420.body_part_sequence_number",
5626 FT_UINT32, BASE_DEC, NULL, 0,
5627 "x420.BodyPartNumber", HFILL }},
5628 { &hf_x420_body_part_signature_status,
5629 { "body-part-signature", "x420.body_part_signature",
5630 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5631 "p7.SignatureStatus", HFILL }},
5633 { "stored", "x420.stored",
5634 FT_UINT32, BASE_DEC, NULL, 0,
5635 "x420.SET_OF_SequenceNumber", HFILL }},
5636 { &hf_x420_stored_item,
5637 { "stored", "x420.stored_item",
5638 FT_UINT32, BASE_DEC, NULL, 0,
5639 "p7.SequenceNumber", HFILL }},
5641 { "absent", "x420.absent",
5642 FT_NONE, BASE_NONE, NULL, 0,
5643 "x420.NULL", HFILL }},
5644 { &hf_x420_no_reply_received,
5645 { "no-reply-received", "x420.no_reply_received",
5646 FT_NONE, BASE_NONE, NULL, 0,
5647 "x420.NULL", HFILL }},
5648 { &hf_x420_received_replies,
5649 { "received-replies", "x420.received_replies",
5650 FT_UINT32, BASE_DEC, NULL, 0,
5651 "x420.SEQUENCE_OF_SequenceNumber", HFILL }},
5652 { &hf_x420_received_replies_item,
5653 { "received-replies", "x420.received_replies_item",
5654 FT_UINT32, BASE_DEC, NULL, 0,
5655 "p7.SequenceNumber", HFILL }},
5656 { &hf_x420_no_ipn_received,
5657 { "no-ipn-received", "x420.no_ipn_received",
5658 FT_NONE, BASE_NONE, NULL, 0,
5659 "x420.NULL", HFILL }},
5660 { &hf_x420_ipns_received,
5661 { "ipns-received", "x420.ipns_received",
5662 FT_UINT32, BASE_DEC, NULL, 0,
5663 "x420.SEQUENCE_OF_SequenceNumber", HFILL }},
5664 { &hf_x420_ipns_received_item,
5665 { "ipns-received", "x420.ipns_received_item",
5666 FT_UINT32, BASE_DEC, NULL, 0,
5667 "p7.SequenceNumber", HFILL }},
5668 { &hf_x420_content_or_arguments,
5669 { "content-or-arguments", "x420.content_or_arguments",
5670 FT_UINT32, BASE_DEC, VALS(x420_T_content_or_arguments_vals), 0,
5671 "x420.T_content_or_arguments", HFILL }},
5672 { &hf_x420_original_content,
5673 { "original-content", "x420.original_content",
5674 FT_BYTES, BASE_HEX, NULL, 0,
5675 "x420.OriginalContent", HFILL }},
5676 { &hf_x420_original_security_arguments,
5677 { "original-security-arguments", "x420.original_security_arguments",
5678 FT_NONE, BASE_NONE, NULL, 0,
5679 "x420.T_original_security_arguments", HFILL }},
5680 { &hf_x420_original_content_integrity_check,
5681 { "original-content-integrity-check", "x420.original_content_integrity_check",
5682 FT_NONE, BASE_NONE, NULL, 0,
5683 "x420.OriginalContentIntegrityCheck", HFILL }},
5684 { &hf_x420_original_message_origin_authentication_check,
5685 { "original-message-origin-authentication-check", "x420.original_message_origin_authentication_check",
5686 FT_NONE, BASE_NONE, NULL, 0,
5687 "x420.OriginalMessageOriginAuthenticationCheck", HFILL }},
5688 { &hf_x420_original_message_token,
5689 { "original-message-token", "x420.original_message_token",
5690 FT_NONE, BASE_NONE, NULL, 0,
5691 "x420.OriginalMessageToken", HFILL }},
5692 { &hf_x420_security_diagnostic_code,
5693 { "security-diagnostic-code", "x420.security_diagnostic_code",
5694 FT_INT32, BASE_DEC, VALS(x420_SecurityDiagnosticCode_vals), 0,
5695 "x420.SecurityDiagnosticCode", HFILL }},
5696 { &hf_x420_BodyPartTokens_item,
5697 { "BodyPartTokens", "x420.BodyPartTokens_item",
5698 FT_NONE, BASE_NONE, NULL, 0,
5699 "x420.BodyPartTokens_item", HFILL }},
5700 { &hf_x420_body_part_choice,
5701 { "body-part-choice", "x420.body_part_choice",
5702 FT_UINT32, BASE_DEC, VALS(x420_T_body_part_choice_vals), 0,
5703 "x420.T_body_part_choice", HFILL }},
5704 { &hf_x420_encryption_token,
5705 { "encryption-token", "x420.encryption_token",
5706 FT_NONE, BASE_NONE, NULL, 0,
5707 "x420.EncryptionToken", HFILL }},
5708 { &hf_x420_message_or_content_body_part,
5709 { "message-or-content-body-part", "x420.message_or_content_body_part",
5710 FT_UINT32, BASE_DEC, NULL, 0,
5711 "x420.BodyPartTokens", HFILL }},
5712 { &hf_x420_encryption_algorithm_identifier,
5713 { "encryption-algorithm-identifier", "x420.encryption_algorithm_identifier",
5714 FT_NONE, BASE_NONE, NULL, 0,
5715 "x509af.AlgorithmIdentifier", HFILL }},
5716 { &hf_x420_encrypted_key,
5717 { "encrypted-key", "x420.encrypted_key",
5718 FT_BYTES, BASE_HEX, NULL, 0,
5719 "x420.BIT_STRING", HFILL }},
5720 { &hf_x420_recipient_certificate_selector,
5721 { "recipient-certificate-selector", "x420.recipient_certificate_selector",
5722 FT_NONE, BASE_NONE, NULL, 0,
5723 "x509ce.CertificateAssertion", HFILL }},
5724 { &hf_x420_recipient_certificate,
5725 { "recipient-certificate", "x420.recipient_certificate",
5726 FT_NONE, BASE_NONE, NULL, 0,
5727 "x509af.Certificates", HFILL }},
5728 { &hf_x420_ForwardedContentToken_item,
5729 { "ForwardedContentToken", "x420.ForwardedContentToken_item",
5730 FT_NONE, BASE_NONE, NULL, 0,
5731 "x420.ForwardedContentToken_item", HFILL }},
5732 { &hf_x420_body_part_token_choice,
5733 { "body-part-choice", "x420.body_part_choice",
5734 FT_UINT32, BASE_DEC, VALS(x420_T_body_part_token_choice_vals), 0,
5735 "x420.T_body_part_token_choice", HFILL }},
5736 { &hf_x420_forwarding_token,
5737 { "forwarding-token", "x420.forwarding_token",
5738 FT_NONE, BASE_NONE, NULL, 0,
5739 "x411.MessageToken", HFILL }},
5740 { &hf_x420_forwarded_content_token,
5741 { "message-or-content-body-part", "x420.message_or_content_body_part",
5742 FT_UINT32, BASE_DEC, NULL, 0,
5743 "x420.ForwardedContentToken", HFILL }},
5745 { "choice", "x420.choice",
5746 FT_UINT32, BASE_DEC, VALS(x420_T_choice_vals), 0,
5747 "x420.T_choice", HFILL }},
5748 { &hf_x420_non_receipt_fields,
5749 { "non-receipt-fields", "x420.non_receipt_fields",
5750 FT_NONE, BASE_NONE, NULL, 0,
5751 "x420.NonReceiptFields", HFILL }},
5752 { &hf_x420_receipt_fields,
5753 { "receipt-fields", "x420.receipt_fields",
5754 FT_NONE, BASE_NONE, NULL, 0,
5755 "x420.ReceiptFields", HFILL }},
5756 { &hf_x420_other_notification_type_fields,
5757 { "other-notification-type-fields", "x420.other_notification_type_fields",
5758 FT_UINT32, BASE_DEC, NULL, 0,
5759 "x420.OtherNotificationTypeFields", HFILL }},
5760 { &hf_x420_NotificationRequests_rn,
5762 FT_BOOLEAN, 8, NULL, 0x80,
5764 { &hf_x420_NotificationRequests_nrn,
5765 { "nrn", "x420.nrn",
5766 FT_BOOLEAN, 8, NULL, 0x40,
5768 { &hf_x420_NotificationRequests_ipm_return,
5769 { "ipm-return", "x420.ipm-return",
5770 FT_BOOLEAN, 8, NULL, 0x20,
5772 { &hf_x420_NotificationRequests_an_supported,
5773 { "an-supported", "x420.an-supported",
5774 FT_BOOLEAN, 8, NULL, 0x10,
5776 { &hf_x420_NotificationRequests_suppress_an,
5777 { "suppress-an", "x420.suppress-an",
5778 FT_BOOLEAN, 8, NULL, 0x08,
5780 { &hf_x420_Access_Request_read,
5781 { "read", "x420.read",
5782 FT_BOOLEAN, 8, NULL, 0x80,
5784 { &hf_x420_Access_Request_insert,
5785 { "insert", "x420.insert",
5786 FT_BOOLEAN, 8, NULL, 0x40,
5788 { &hf_x420_Access_Request_replace,
5789 { "replace", "x420.replace",
5790 FT_BOOLEAN, 8, NULL, 0x20,
5792 { &hf_x420_Access_Request_extend,
5793 { "extend", "x420.extend",
5794 FT_BOOLEAN, 8, NULL, 0x10,
5796 { &hf_x420_Access_Request_erase,
5797 { "erase", "x420.erase",
5798 FT_BOOLEAN, 8, NULL, 0x08,
5800 { &hf_x420_Access_Request_read_attribute,
5801 { "read-attribute", "x420.read-attribute",
5802 FT_BOOLEAN, 8, NULL, 0x04,
5804 { &hf_x420_Access_Request_change_attribute,
5805 { "change-attribute", "x420.change-attribute",
5806 FT_BOOLEAN, 8, NULL, 0x02,
5808 { &hf_x420_Access_Request_delete_object,
5809 { "delete-object", "x420.delete-object",
5810 FT_BOOLEAN, 8, NULL, 0x01,
5812 { &hf_x420_RecipientSecurityRequest_content_non_repudiation,
5813 { "content-non-repudiation", "x420.content-non-repudiation",
5814 FT_BOOLEAN, 8, NULL, 0x80,
5816 { &hf_x420_RecipientSecurityRequest_content_proof,
5817 { "content-proof", "x420.content-proof",
5818 FT_BOOLEAN, 8, NULL, 0x40,
5820 { &hf_x420_RecipientSecurityRequest_ipn_non_repudiation,
5821 { "ipn-non-repudiation", "x420.ipn-non-repudiation",
5822 FT_BOOLEAN, 8, NULL, 0x20,
5824 { &hf_x420_RecipientSecurityRequest_ipn_proof,
5825 { "ipn-proof", "x420.ipn-proof",
5826 FT_BOOLEAN, 8, NULL, 0x10,
5829 /*--- End of included file: packet-x420-hfarr.c ---*/
5830 #line 130 "packet-x420-template.c"
5833 /* List of subtrees */
5834 static gint *ett[] = {
5837 /*--- Included file: packet-x420-ettarr.c ---*/
5838 #line 1 "packet-x420-ettarr.c"
5839 &ett_x420_InformationObject,
5841 &ett_x420_IPMSExtension,
5843 &ett_x420_IPMIdentifier_U,
5844 &ett_x420_RecipientSpecifier,
5845 &ett_x420_ORDescriptor,
5846 &ett_x420_NotificationRequests,
5847 &ett_x420_RecipientExtensionsField,
5848 &ett_x420_AuthorizingUsersField,
5849 &ett_x420_PrimaryRecipientsField,
5850 &ett_x420_CopyRecipientsField,
5851 &ett_x420_BlindCopyRecipientsField,
5852 &ett_x420_ObsoletedIPMsField,
5853 &ett_x420_RelatedIPMsField,
5854 &ett_x420_ReplyRecipientsField,
5855 &ett_x420_ExtensionsField,
5859 &ett_x420_ExtendedBodyPart,
5860 &ett_x420_IA5TextBodyPart,
5861 &ett_x420_IA5TextParameters,
5862 &ett_x420_G3FacsimileBodyPart,
5863 &ett_x420_G3FacsimileParameters,
5864 &ett_x420_G3FacsimileData,
5865 &ett_x420_G4Class1BodyPart,
5866 &ett_x420_MixedModeBodyPart,
5867 &ett_x420_TeletexBodyPart,
5868 &ett_x420_TeletexParameters,
5869 &ett_x420_TeletexData,
5870 &ett_x420_VideotexBodyPart,
5871 &ett_x420_VideotexParameters,
5872 &ett_x420_EncryptedBodyPart,
5873 &ett_x420_EncryptedParameters,
5874 &ett_x420_MessageBodyPart,
5875 &ett_x420_MessageParameters,
5877 &ett_x420_CommonFields,
5878 &ett_x420_NonReceiptFields,
5879 &ett_x420_ReceiptFields,
5880 &ett_x420_NotificationExtensionsField,
5881 &ett_x420_NRNExtensionsField,
5882 &ett_x420_RNExtensionsField,
5883 &ett_x420_OtherNotificationTypeFields,
5884 &ett_x420_AbsenceAdvice,
5885 &ett_x420_ChangeOfAddressAdvice,
5886 &ett_x420_IPMAssemblyInstructions,
5887 &ett_x420_BodyPartReferences,
5888 &ett_x420_BodyPartReference,
5889 &ett_x420_T_stored_body_part,
5890 &ett_x420_Languages,
5891 &ett_x420_BodyPartSignatures,
5892 &ett_x420_BodyPartSignatures_item,
5893 &ett_x420_Signature,
5894 &ett_x420_IPMSecurityLabel,
5895 &ett_x420_SEQUENCE_OF_BodyPartSecurityLabel,
5896 &ett_x420_BodyPartSecurityLabel,
5897 &ett_x420_CirculationList,
5898 &ett_x420_CirculationMember,
5899 &ett_x420_Checkmark,
5900 &ett_x420_CirculationSignatureData,
5901 &ett_x420_CirculationSignature,
5902 &ett_x420_DistributionCodes,
5903 &ett_x420_DistributionCode,
5904 &ett_x420_InformationCategories,
5905 &ett_x420_InformationCategory,
5906 &ett_x420_ManualHandlingInstructions,
5907 &ett_x420_GeneralTextParameters,
5908 &ett_x420_FileTransferParameters,
5909 &ett_x420_FileTransferData,
5910 &ett_x420_RelatedStoredFile,
5911 &ett_x420_RelatedStoredFile_item,
5912 &ett_x420_FileIdentifier,
5913 &ett_x420_PathnameandVersion,
5914 &ett_x420_CrossReference,
5915 &ett_x420_MessageReference,
5916 &ett_x420_Relationship,
5917 &ett_x420_Contents_Type_Attribute,
5918 &ett_x420_T_document_type,
5919 &ett_x420_T_constraint_set_and_abstract_syntax,
5920 &ett_x420_EnvironmentParameter,
5921 &ett_x420_T_user_visible_string,
5922 &ett_x420_GeneralIdentifier,
5923 &ett_x420_T_descriptive_identifier,
5924 &ett_x420_CompressionParameter,
5925 &ett_x420_FileAttributes,
5926 &ett_x420_Pathname_Attribute,
5927 &ett_x420_Account_Attribute,
5928 &ett_x420_User_Identity_Attribute,
5929 &ett_x420_Access_Control_Attribute,
5930 &ett_x420_SET_OF_Access_Control_Element,
5931 &ett_x420_Access_Control_Element,
5932 &ett_x420_Access_Request,
5933 &ett_x420_Access_Passwords,
5935 &ett_x420_Pass_Passwords,
5936 &ett_x420_Application_Entity_Title,
5937 &ett_x420_VoiceParameters,
5938 &ett_x420_ForwardedContentParameters,
5939 &ett_x420_SubmissionProof,
5940 &ett_x420_IPMSynopsis,
5941 &ett_x420_BodyPartSynopsis,
5942 &ett_x420_MessageBodyPartSynopsis,
5943 &ett_x420_NonMessageBodyPartSynopsis,
5944 &ett_x420_BodyPartDescriptor,
5945 &ett_x420_BodyPartSignatureVerification,
5946 &ett_x420_BodyPartSignatureVerification_item,
5947 &ett_x420_IPMLocation,
5948 &ett_x420_SET_OF_SequenceNumber,
5949 &ett_x420_CorrelatedDeliveredReplies,
5950 &ett_x420_SEQUENCE_OF_SequenceNumber,
5951 &ett_x420_CorrelatedDeliveredIPNs,
5952 &ett_x420_RecipientSecurityRequest,
5953 &ett_x420_IpnSecurityResponse,
5954 &ett_x420_T_content_or_arguments,
5955 &ett_x420_T_original_security_arguments,
5956 &ett_x420_BodyPartTokens,
5957 &ett_x420_BodyPartTokens_item,
5958 &ett_x420_T_body_part_choice,
5959 &ett_x420_EncryptionToken,
5960 &ett_x420_ForwardedContentToken,
5961 &ett_x420_ForwardedContentToken_item,
5962 &ett_x420_T_body_part_token_choice,
5965 /*--- End of included file: packet-x420-ettarr.c ---*/
5966 #line 136 "packet-x420-template.c"
5969 /* Register protocol */
5970 proto_x420 = proto_register_protocol(PNAME, PSNAME, PFNAME);
5971 register_dissector("x420", dissect_x420, proto_x420);
5972 /* Register fields and subtrees */
5973 proto_register_field_array(proto_x420, hf, array_length(hf));
5974 proto_register_subtree_array(ett, array_length(ett));
5979 /*--- proto_reg_handoff_x420 --- */
5980 void proto_reg_handoff_x420(void) {
5983 /*--- Included file: packet-x420-dis-tab.c ---*/
5984 #line 1 "packet-x420-dis-tab.c"
5985 register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_x420, "id-on-absence-advice");
5986 register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_x420, "id-on-change-of-address-advice");
5987 register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_x420, "id-mst-assembly-instructions");
5988 register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_x420, "id-hex-incomplete-copy");
5989 register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_x420, "id-hex-languages");
5990 register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_x420, "id-hex-auto-submitted");
5991 register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_x420, "id-hex-body-part-signatures");
5992 register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hex-ipm-security-label");
5993 register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU, proto_x420, "id-hex-authorization-time");
5994 register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU, proto_x420, "id-hex-circulation-list-recipients");
5995 register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU, proto_x420, "id-rex-circulation-list-indicator");
5996 register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU, proto_x420, "id-hex-distribution-codes");
5997 register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU, proto_x420, "id-hex-extended-subject");
5998 register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU, proto_x420, "id-hex-information-categories");
5999 register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU, proto_x420, "id-hex-manual-handling-instructions");
6000 register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU, proto_x420, "id-hex-originators-reference");
6001 register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hex-precedence-policy-id");
6002 register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU, proto_x420, "id-rex-precedence");
6003 register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU, proto_x420, "id-et-ia5-text");
6004 register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_x420, "id-ep-ia5-text");
6005 register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_x420, "id-et-g3-facsimile");
6006 register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_x420, "id-ep-g3-facsimile");
6007 register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_x420, "id-et-g4-class1");
6008 register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_x420, "id-et-teletex");
6009 register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_x420, "id-ep-teletex");
6010 register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_x420, "id-et-videotex");
6011 register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU, proto_x420, "id-ep-videotex");
6012 register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU, proto_x420, "id-et-encrypted");
6013 register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_x420, "id-ep-encrypted");
6014 register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_x420, "id-et-message");
6015 register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_x420, "id-ep-message");
6016 register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_x420, "id-et-mixed-mode");
6017 register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_x420, "id-et-bilaterally-defined");
6018 register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_x420, "id-ep-general-text");
6019 register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_x420, "id-et-general-text");
6020 register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_x420, "id-ep-file-transfer");
6021 register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_x420, "id-et-file-transfer");
6022 register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_x420, "id-ep-notification");
6023 register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_x420, "id-et-notification");
6024 register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_x420, "id-ep-voice");
6025 register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU, proto_x420, "id-et-voice");
6026 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p22");
6027 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU, proto_x420, "id-et-content-p22");
6028 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p2");
6029 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_x420, "id-et-content-p2");
6030 register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p772");
6031 register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_x420, "id-sat-ipm-entry-type");
6032 register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_x420, "id-sat-ipm-synopsis");
6033 register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_x420, "id-sat-body-parts-summary");
6034 register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_x420, "id-hat-heading");
6035 register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_x420, "id-hat-this-ipm");
6036 register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_x420, "id-hat-originator");
6037 register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_x420, "id-hat-replied-to-IPM");
6038 register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_x420, "id-hat-subject");
6039 register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_x420, "id-hat-expiry-time");
6040 register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_x420, "id-hat-reply-time");
6041 register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_x420, "id-hat-importance");
6042 register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_x420, "id-hat-sensitivity");
6043 register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_x420, "id-hat-auto-forwarded");
6044 register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_x420, "id-hat-authorizing-users");
6045 register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_x420, "id-hat-primary-recipients");
6046 register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_x420, "id-hat-copy-recipients");
6047 register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_x420, "id-hat-blind-copy-recipients");
6048 register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_x420, "id-hat-obsoleted-IPMs");
6049 register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_x420, "id-hat-related-IPMs");
6050 register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_x420, "id-hat-reply-recipients");
6051 register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_x420, "id-hat-incomplete-copy");
6052 register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_x420, "id-hat-languages");
6053 register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_x420, "id-hat-rn-requestors");
6054 register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_x420, "id-hat-nrn-requestors");
6055 register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_x420, "id-hat-reply-requestors");
6056 register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_x420, "id-hat-auto-submitted");
6057 register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_x420, "id-hat-body-part-signatures");
6058 register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hat-ipm-security-label");
6059 register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_x420, "id-hat-body-part-security-label");
6060 register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_x420, "id-hat-body-part-encryption-token");
6061 register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_x420, "id-hat-authorization-time");
6062 register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_x420, "id-hat-circulation-list-recipients");
6063 register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_x420, "id-hat-distribution-codes");
6064 register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_x420, "id-hat-extended-subject");
6065 register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_x420, "id-hat-information-category");
6066 register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_x420, "id-hat-manual-handling-instructions");
6067 register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_x420, "id-hat-originators-reference");
6068 register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hat-precedence-policy-id");
6069 register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_x420, "id-hat-forwarded-content-token");
6070 register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_x420, "id-hat-precedence");
6071 register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_x420, "id-hat-body-part-signature-verification-status");
6072 register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_x420, "id-bat-body");
6073 register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU, proto_x420, "id-cat-correlated-delivered-ipns");
6074 register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU, proto_x420, "id-cat-correlated-delivered-replies");
6075 register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU, proto_x420, "id-cat-delivered-ipn-summary");
6076 register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU, proto_x420, "id-cat-delivered-replies-summary");
6077 register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU, proto_x420, "id-cat-obsoleted-ipms");
6078 register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU, proto_x420, "id-cat-submitted-ipn-status");
6079 register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU, proto_x420, "id-cat-submitted-reply-status");
6080 register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU, proto_x420, "id-cat-recipient-category");
6081 register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU, proto_x420, "id-sec-ipm-security-request");
6082 register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU, proto_x420, "id-sec-security-common-fields");
6085 /*--- End of included file: packet-x420-dis-tab.c ---*/
6086 #line 152 "packet-x420-template.c"
6088 register_ber_oid_dissector("2.6.1.10.0", dissect_x420, proto_x420, "InterPersonal Message (1984)");
6089 register_ber_oid_dissector("2.6.1.10.1", dissect_x420, proto_x420, "InterPersonal Message (1988)");