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 -C -p x420 -c ./x420.cnf -s ./packet-x420-template -D . IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */
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/oids.h>
41 #include <epan/asn1.h>
43 #include "packet-ber.h"
44 #include "packet-acse.h"
45 #include "packet-ros.h"
47 #include "packet-x509af.h"
48 #include "packet-x509ce.h"
49 #include "packet-ftam.h"
50 #include "packet-x411.h"
51 #include "packet-p7.h"
53 #include "packet-x420.h"
55 #define PNAME "X.420 Information Object"
59 /* Initialize the protocol and registered fields */
60 static int proto_x420 = -1;
62 static const char *object_identifier_id; /* content type identifier */
64 static const value_string charsetreg_vals [] = {
65 { 1, "C0: (ISO/IEC 6429)"},
66 { 6, "G0: ASCII (ISO/IEC 646)"},
67 { 77, "C1: (ISO/IEC 6429)"},
68 { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
69 { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
70 { 104, "C0: (ISO/IEC 4873)"},
71 { 105, "C1: (ISO/IEC 4873)"},
72 { 106, "C0: Teletex (CCITT T.61)"},
73 { 107, "C1: Teletex (CCITT T.61)"},
74 { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
75 { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
76 { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
77 { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
78 { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
79 { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
80 { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
81 { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
82 { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
83 { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
84 { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
85 { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
86 { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
87 { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
88 { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
89 { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
94 /*--- Included file: packet-x420-val.h ---*/
95 #line 1 "packet-x420-val.h"
96 #define id_ipms "2.6.1"
97 #define id_mod id_ipms".0"
98 #define id_ot id_ipms".1"
99 #define id_pt id_ipms".2"
100 #define id_et id_ipms".4"
101 #define id_hex id_ipms".5"
102 #define id_sat id_ipms".6"
103 #define id_hat id_ipms".7"
104 #define id_bat id_ipms".8"
105 #define id_nat id_ipms".9"
106 #define id_mct id_ipms".10"
107 #define id_ep id_ipms".11"
108 #define id_eit id_ipms".12"
109 #define id_cat id_ipms".13"
110 #define id_mr id_ipms".14"
111 #define id_aa id_ipms".15"
112 #define id_aae id_ipms".16"
113 #define id_mst id_ipms".17"
114 #define id_sec id_ipms".18"
115 #define id_on id_ipms".19"
116 #define id_rex id_ipms".20"
117 #define id_mod_object_identifiers id_mod".0"
118 #define id_mod_functional_objects id_mod".1"
119 #define id_mod_information_objects id_mod".2"
120 #define id_mod_abstract_service id_mod".3"
121 #define id_mod_heading_extensions id_mod".6"
122 #define id_mod_extended_body_part_types id_mod".7"
123 #define id_mod_message_store_attributes id_mod".8"
124 #define id_mod_file_transfer_body_part_type id_mod".9"
125 #define id_mod_upper_bounds id_mod".10"
126 #define id_mod_extended_voice_body_part_type id_mod".11"
127 #define id_mod_forwarded_report_body_part_type id_mod".12"
128 #define id_mod_auto_actions id_mod".13"
129 #define id_mod_ipm_security_extensions id_mod".14"
130 #define id_mod_forwarded_content_body_part_type id_mod".15"
131 #define id_mod_pkcs7_body_part_type id_mod".16"
132 #define id_ot_ipms_user id_ot".1"
133 #define id_ot_ipms id_ot".2"
134 #define id_pt_origination id_pt".0"
135 #define id_pt_reception id_pt".1"
136 #define id_pt_management id_pt".2"
137 #define id_et_ia5_text id_et".0"
138 #define id_et_g3_facsimile id_et".2"
139 #define id_et_g4_class1 id_et".3"
140 #define id_et_teletex id_et".4"
141 #define id_et_videotex id_et".5"
142 #define id_et_encrypted id_et".6"
143 #define id_et_message id_et".7"
144 #define id_et_mixed_mode id_et".8"
145 #define id_et_bilaterally_defined id_et".9"
146 #define id_et_nationally_defined id_et".10"
147 #define id_et_general_text id_et".11"
148 #define id_et_file_transfer id_et".12"
149 #define id_et_report id_et".14"
150 #define id_et_notification id_et".15"
151 #define id_et_voice id_et".16"
152 #define id_et_content id_et".17"
153 #define id_et_pkcs7 id_et".18"
154 #define id_hex_incomplete_copy id_hex".0"
155 #define id_hex_languages id_hex".1"
156 #define id_hex_auto_submitted id_hex".2"
157 #define id_hex_body_part_signatures id_hex".3"
158 #define id_hex_ipm_security_label id_hex".4"
159 #define id_hex_authorization_time id_hex".5"
160 #define id_hex_circulation_list_recipients id_hex".6"
161 #define id_hex_distribution_codes id_hex".7"
162 #define id_hex_extended_subject id_hex".8"
163 #define id_hex_information_category id_hex".9"
164 #define id_hex_manual_handling_instructions id_hex".10"
165 #define id_hex_originators_reference id_hex".11"
166 #define id_hex_precedence_policy_id id_hex".12"
167 #define id_sat_ipm_entry_type id_sat".0"
168 #define id_sat_ipm_synopsis id_sat".1"
169 #define id_sat_body_parts_summary id_sat".2"
170 #define id_sat_ipm_auto_discarded id_sat".3"
171 #define id_hat_heading id_hat".0"
172 #define id_hat_this_ipm id_hat".1"
173 #define id_hat_originator id_hat".2"
174 #define id_hat_replied_to_IPM id_hat".3"
175 #define id_hat_subject id_hat".4"
176 #define id_hat_expiry_time id_hat".5"
177 #define id_hat_reply_time id_hat".6"
178 #define id_hat_importance id_hat".7"
179 #define id_hat_sensitivity id_hat".8"
180 #define id_hat_auto_forwarded id_hat".9"
181 #define id_hat_authorizing_users id_hat".10"
182 #define id_hat_primary_recipients id_hat".11"
183 #define id_hat_copy_recipients id_hat".12"
184 #define id_hat_blind_copy_recipients id_hat".13"
185 #define id_hat_obsoleted_IPMs id_hat".14"
186 #define id_hat_related_IPMs id_hat".15"
187 #define id_hat_reply_recipients id_hat".16"
188 #define id_hat_incomplete_copy id_hat".17"
189 #define id_hat_languages id_hat".18"
190 #define id_hat_rn_requestors id_hat".19"
191 #define id_hat_nrn_requestors id_hat".20"
192 #define id_hat_reply_requestors id_hat".21"
193 #define id_hat_auto_submitted id_hat".22"
194 #define id_hat_body_part_signatures id_hat".23"
195 #define id_hat_ipm_security_label id_hat".24"
196 #define id_hat_body_part_security_label id_hat".25"
197 #define id_hat_body_part_encryption_token id_hat".26"
198 #define id_hat_authorization_time id_hat".27"
199 #define id_hat_circulation_list_recipients id_hat".28"
200 #define id_hat_distribution_codes id_hat".29"
201 #define id_hat_extended_subject id_hat".30"
202 #define id_hat_information_category id_hat".31"
203 #define id_hat_manual_handling_instructions id_hat".32"
204 #define id_hat_originators_reference id_hat".33"
205 #define id_hat_precedence_policy_id id_hat".34"
206 #define id_hat_forwarded_content_token id_hat".35"
207 #define id_hat_forwarding_token id_hat".36"
208 #define id_hat_precedence id_hat".37"
209 #define id_hat_body_part_signature_verification_status id_hat".38"
210 #define id_bat_body id_bat".0"
211 #define id_bat_ia5_text_body_parts id_bat".1"
212 #define id_bat_g3_facsimile_body_parts id_bat".3"
213 #define id_bat_g4_class1_body_parts id_bat".4"
214 #define id_bat_teletex_body_parts id_bat".5"
215 #define id_bat_videotex_body_parts id_bat".6"
216 #define id_bat_encrypted_body_parts id_bat".7"
217 #define id_bat_message_body_parts id_bat".8"
218 #define id_bat_mixed_mode_body_parts id_bat".9"
219 #define id_bat_bilaterally_defined_body_parts id_bat".10"
220 #define id_bat_nationally_defined_body_parts id_bat".11"
221 #define id_bat_extended_body_part_types id_bat".12"
222 #define id_bat_ia5_text_parameters id_bat".13"
223 #define id_bat_g3_facsimile_parameters id_bat".15"
224 #define id_bat_teletex_parameters id_bat".16"
225 #define id_bat_videotex_parameters id_bat".17"
226 #define id_bat_encrypted_parameters id_bat".18"
227 #define id_bat_message_parameters id_bat".19"
228 #define id_bat_ia5_text_data id_bat".20"
229 #define id_bat_g3_facsimile_data id_bat".22"
230 #define id_bat_teletex_data id_bat".23"
231 #define id_bat_videotex_data id_bat".24"
232 #define id_bat_encrypted_data id_bat".25"
233 #define id_bat_message_data id_bat".26"
234 #define id_nat_subject_ipm id_nat".0"
235 #define id_nat_ipn_originator id_nat".1"
236 #define id_nat_ipm_intended_recipient id_nat".2"
237 #define id_nat_conversion_eits id_nat".3"
238 #define id_nat_non_receipt_reason id_nat".4"
239 #define id_nat_discard_reason id_nat".5"
240 #define id_nat_auto_forward_comment id_nat".6"
241 #define id_nat_returned_ipm id_nat".7"
242 #define id_nat_receipt_time id_nat".8"
243 #define id_nat_acknowledgment_mode id_nat".9"
244 #define id_nat_suppl_receipt_info id_nat".10"
245 #define id_nat_notification_extensions id_nat".11"
246 #define id_nat_nrn_extensions id_nat".12"
247 #define id_nat_rn_extensions id_nat".13"
248 #define id_nat_other_notification_type_fields id_nat".14"
249 #define id_cat_correlated_delivered_ipns id_cat".0"
250 #define id_cat_correlated_delivered_replies id_cat".1"
251 #define id_cat_delivered_ipn_summary id_cat".2"
252 #define id_cat_delivered_replies_summary id_cat".3"
253 #define id_cat_forwarded_ipms id_cat".4"
254 #define id_cat_forwarding_ipms id_cat".5"
255 #define id_cat_ipm_recipients id_cat".6"
256 #define id_cat_obsoleted_ipms id_cat".7"
257 #define id_cat_obsoleting_ipms id_cat".8"
258 #define id_cat_related_ipms id_cat".9"
259 #define id_cat_relating_ipms id_cat".10"
260 #define id_cat_replied_to_ipm id_cat".11"
261 #define id_cat_replying_ipms id_cat".12"
262 #define id_cat_revised_reply_time id_cat".13"
263 #define id_cat_submitted_ipn_status id_cat".14"
264 #define id_cat_submitted_ipns id_cat".15"
265 #define id_cat_submitted_reply_status id_cat".16"
266 #define id_cat_subject_ipm id_cat".17"
267 #define id_cat_recipient_category id_cat".18"
268 #define id_mct_p2_1984 id_mct".0"
269 #define id_mct_p2_1988 id_mct".1"
270 #define id_ep_ia5_text id_ep".0"
271 #define id_ep_g3_facsimile id_ep".2"
272 #define id_ep_teletex id_ep".4"
273 #define id_ep_videotex id_ep".5"
274 #define id_ep_encrypted id_ep".6"
275 #define id_ep_message id_ep".7"
276 #define id_ep_general_text id_ep".11"
277 #define id_ep_file_transfer id_ep".12"
278 #define id_ep_notification id_ep".15"
279 #define id_ep_voice id_ep".16"
280 #define id_ep_content id_ep".17"
281 #define id_eit_file_transfer id_eit".0"
282 #define id_eit_voice id_eit".1"
283 #define id_voice_11khz_sample id_eit_voice".0"
284 #define id_voice_22khz_sample id_eit_voice".1"
285 #define id_voice_cd_quality id_eit_voice".2"
286 #define id_voice_g711_mu_law id_eit_voice".3"
287 #define id_voice_g726_32k_adpcm id_eit_voice".4"
288 #define id_voice_g728_16k_ld_celp id_eit_voice".5"
289 #define id_mr_ipm_identifier id_mr".0"
290 #define id_mr_or_descriptor id_mr".1"
291 #define id_mr_or_descriptor_elements id_mr".2"
292 #define id_mr_or_descriptor_substring_elements id_mr".3"
293 #define id_mr_recipient_specifier id_mr".4"
294 #define id_mr_recipient_specifier_elements id_mr".5"
295 #define id_mr_recipient_specifier_substring_elements id_mr".6"
296 #define id_mr_ipm_location id_mr".7"
297 #define id_mr_or_descriptor_single_element id_mr".8"
298 #define id_mr_recipient_specifier_single_element id_mr".9"
299 #define id_mr_circulation_member id_mr".10"
300 #define id_mr_circulation_member_elements id_mr".11"
301 #define id_mr_circulation_member_substring_elements id_mr".12"
302 #define id_mr_circulation_member_single_element id_mr".13"
303 #define id_mr_circulation_member_checkmark id_mr".14"
304 #define id_mr_distribution_code id_mr".15"
305 #define id_mr_information_category id_mr".16"
306 #define id_aa_ipm_auto_acknowledgement id_aa".0"
307 #define id_aa_ipm_auto_correlate id_aa".1"
308 #define id_aa_ipm_auto_discard id_aa".2"
309 #define id_aa_ipm_auto_advise id_aa".3"
310 #define id_aae_auto_discard_error id_aae".0"
311 #define id_aae_auto_forwarding_loop id_aae".1"
312 #define id_aae_duplicate_ipn id_aae".2"
313 #define id_mst_invalid_assembly_instructions id_mst".0"
314 #define id_mst_invalid_ipn id_mst".1"
315 #define id_mst_assembly_instructions id_mst".2"
316 #define id_mst_suspend_auto_acknowledgement id_mst".3"
317 #define id_mst_prevent_nrn_generation id_mst".4"
318 #define id_mst_originator_body_part_encryption_token id_mst".5"
319 #define id_mst_originator_forwarded_content_token id_mst".6"
320 #define id_mst_assembly_capability id_mst".7"
321 #define id_sec_ipm_security_request id_sec".0"
322 #define id_sec_security_common_fields id_sec".1"
323 #define id_on_absence_advice id_on".0"
324 #define id_on_change_of_address_advice id_on".1"
325 #define id_rex_circulation_list_indicator id_rex".0"
326 #define id_rex_precedence id_rex".1"
327 #define ub_alpha_code_length 16
328 #define ub_auto_forward_comment 256
329 #define ub_circulation_list_members 256
330 #define ub_distribution_codes 16
331 #define ub_extended_subject_length 256
332 #define ub_free_form_name 64
333 #define ub_information_categories 16
334 #define ub_information_category_length 64
335 #define ub_ipm_identifier_suffix 2
336 #define ub_local_ipm_identifier 64
337 #define ub_manual_handling_instruction_length 128
338 #define ub_manual_handling_instructions 16
339 #define ub_originators_reference_length 64
340 #define ub_precedence 127
341 #define ub_subject_field 128
342 #define ub_telephone_number 32
344 /*--- End of included file: packet-x420-val.h ---*/
345 #line 86 "packet-x420-template.c"
348 /*--- Included file: packet-x420-hf.c ---*/
349 #line 1 "packet-x420-hf.c"
350 static int hf_x420_InformationObject_PDU = -1; /* InformationObject */
351 static int hf_x420_Heading_PDU = -1; /* Heading */
352 static int hf_x420_ORDescriptor_PDU = -1; /* ORDescriptor */
353 static int hf_x420_ThisIPMField_PDU = -1; /* ThisIPMField */
354 static int hf_x420_OriginatorField_PDU = -1; /* OriginatorField */
355 static int hf_x420_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */
356 static int hf_x420_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */
357 static int hf_x420_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */
358 static int hf_x420_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */
359 static int hf_x420_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */
360 static int hf_x420_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */
361 static int hf_x420_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */
362 static int hf_x420_SubjectField_PDU = -1; /* SubjectField */
363 static int hf_x420_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */
364 static int hf_x420_ReplyTimeField_PDU = -1; /* ReplyTimeField */
365 static int hf_x420_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */
366 static int hf_x420_ImportanceField_PDU = -1; /* ImportanceField */
367 static int hf_x420_SensitivityField_PDU = -1; /* SensitivityField */
368 static int hf_x420_AutoForwardedField_PDU = -1; /* AutoForwardedField */
369 static int hf_x420_Body_PDU = -1; /* Body */
370 static int hf_x420_IA5TextParameters_PDU = -1; /* IA5TextParameters */
371 static int hf_x420_IA5TextData_PDU = -1; /* IA5TextData */
372 static int hf_x420_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */
373 static int hf_x420_G3FacsimileData_PDU = -1; /* G3FacsimileData */
374 static int hf_x420_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */
375 static int hf_x420_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */
376 static int hf_x420_TeletexParameters_PDU = -1; /* TeletexParameters */
377 static int hf_x420_TeletexData_PDU = -1; /* TeletexData */
378 static int hf_x420_VideotexParameters_PDU = -1; /* VideotexParameters */
379 static int hf_x420_VideotexData_PDU = -1; /* VideotexData */
380 static int hf_x420_EncryptedParameters_PDU = -1; /* EncryptedParameters */
381 static int hf_x420_EncryptedData_PDU = -1; /* EncryptedData */
382 static int hf_x420_MessageParameters_PDU = -1; /* MessageParameters */
383 static int hf_x420_MessageData_PDU = -1; /* MessageData */
384 static int hf_x420_BilaterallyDefinedBodyPart_PDU = -1; /* BilaterallyDefinedBodyPart */
385 static int hf_x420_IPN_PDU = -1; /* IPN */
386 static int hf_x420_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */
387 static int hf_x420_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */
388 static int hf_x420_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */
389 static int hf_x420_IncompleteCopy_PDU = -1; /* IncompleteCopy */
390 static int hf_x420_Languages_PDU = -1; /* Languages */
391 static int hf_x420_Language_PDU = -1; /* Language */
392 static int hf_x420_AutoSubmitted_PDU = -1; /* AutoSubmitted */
393 static int hf_x420_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */
394 static int hf_x420_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */
395 static int hf_x420_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */
396 static int hf_x420_AuthorizationTime_PDU = -1; /* AuthorizationTime */
397 static int hf_x420_CirculationList_PDU = -1; /* CirculationList */
398 static int hf_x420_CirculationMember_PDU = -1; /* CirculationMember */
399 static int hf_x420_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */
400 static int hf_x420_DistributionCodes_PDU = -1; /* DistributionCodes */
401 static int hf_x420_DistributionCode_PDU = -1; /* DistributionCode */
402 static int hf_x420_ExtendedSubject_PDU = -1; /* ExtendedSubject */
403 static int hf_x420_InformationCategories_PDU = -1; /* InformationCategories */
404 static int hf_x420_InformationCategory_PDU = -1; /* InformationCategory */
405 static int hf_x420_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */
406 static int hf_x420_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */
407 static int hf_x420_OriginatorsReference_PDU = -1; /* OriginatorsReference */
408 static int hf_x420_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */
409 static int hf_x420_Precedence_PDU = -1; /* Precedence */
410 static int hf_x420_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */
411 static int hf_x420_GeneralTextData_PDU = -1; /* GeneralTextData */
412 static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */
413 static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */
414 static int hf_x420_VoiceParameters_PDU = -1; /* VoiceParameters */
415 static int hf_x420_VoiceData_PDU = -1; /* VoiceData */
416 static int hf_x420_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */
417 static int hf_x420_IPMEntryType_PDU = -1; /* IPMEntryType */
418 static int hf_x420_IPMSynopsis_PDU = -1; /* IPMSynopsis */
419 static int hf_x420_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */
420 static int hf_x420_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */
421 static int hf_x420_IPMLocation_PDU = -1; /* IPMLocation */
422 static int hf_x420_DeliveredReplyStatus_PDU = -1; /* DeliveredReplyStatus */
423 static int hf_x420_CorrelatedDeliveredReplies_PDU = -1; /* CorrelatedDeliveredReplies */
424 static int hf_x420_DeliveredIPNStatus_PDU = -1; /* DeliveredIPNStatus */
425 static int hf_x420_CorrelatedDeliveredIPNs_PDU = -1; /* CorrelatedDeliveredIPNs */
426 static int hf_x420_SubmittedReplyStatus_PDU = -1; /* SubmittedReplyStatus */
427 static int hf_x420_SubmittedIPNStatus_PDU = -1; /* SubmittedIPNStatus */
428 static int hf_x420_RecipientCategory_PDU = -1; /* RecipientCategory */
429 static int hf_x420_RecipientSecurityRequest_PDU = -1; /* RecipientSecurityRequest */
430 static int hf_x420_IpnSecurityResponse_PDU = -1; /* IpnSecurityResponse */
431 static int hf_x420_BodyPartTokens_PDU = -1; /* BodyPartTokens */
432 static int hf_x420_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */
433 static int hf_x420_ipm = -1; /* IPM */
434 static int hf_x420_ipn = -1; /* IPN */
435 static int hf_x420_heading = -1; /* Heading */
436 static int hf_x420_body = -1; /* Body */
437 static int hf_x420_type = -1; /* T_type */
438 static int hf_x420_value = -1; /* T_value */
439 static int hf_x420_this_IPM = -1; /* ThisIPMField */
440 static int hf_x420_originator = -1; /* OriginatorField */
441 static int hf_x420_authorizing_users = -1; /* AuthorizingUsersField */
442 static int hf_x420_primary_recipients = -1; /* PrimaryRecipientsField */
443 static int hf_x420_copy_recipients = -1; /* CopyRecipientsField */
444 static int hf_x420_blind_copy_recipients = -1; /* BlindCopyRecipientsField */
445 static int hf_x420_replied_to_IPM = -1; /* RepliedToIPMField */
446 static int hf_x420_obsoleted_IPMs = -1; /* ObsoletedIPMsField */
447 static int hf_x420_related_IPMs = -1; /* RelatedIPMsField */
448 static int hf_x420_subject = -1; /* SubjectField */
449 static int hf_x420_expiry_time = -1; /* ExpiryTimeField */
450 static int hf_x420_reply_time = -1; /* ReplyTimeField */
451 static int hf_x420_reply_recipients = -1; /* ReplyRecipientsField */
452 static int hf_x420_importance = -1; /* ImportanceField */
453 static int hf_x420_sensitivity = -1; /* SensitivityField */
454 static int hf_x420_auto_forwarded = -1; /* AutoForwardedField */
455 static int hf_x420_extensions = -1; /* ExtensionsField */
456 static int hf_x420_user = -1; /* ORName */
457 static int hf_x420_user_relative_identifier = -1; /* LocalIPMIdentifier */
458 static int hf_x420_recipient = -1; /* ORDescriptor */
459 static int hf_x420_notification_requests = -1; /* NotificationRequests */
460 static int hf_x420_reply_requested = -1; /* BOOLEAN */
461 static int hf_x420_recipient_extensions = -1; /* RecipientExtensionsField */
462 static int hf_x420_formal_name = -1; /* ORName */
463 static int hf_x420_free_form_name = -1; /* FreeFormName */
464 static int hf_x420_telephone_number = -1; /* TelephoneNumber */
465 static int hf_x420_RecipientExtensionsField_item = -1; /* IPMSExtension */
466 static int hf_x420_AuthorizingUsersField_item = -1; /* AuthorizingUsersSubfield */
467 static int hf_x420_PrimaryRecipientsField_item = -1; /* PrimaryRecipientsSubfield */
468 static int hf_x420_CopyRecipientsField_item = -1; /* CopyRecipientsSubfield */
469 static int hf_x420_BlindCopyRecipientsField_item = -1; /* BlindCopyRecipientsSubfield */
470 static int hf_x420_ObsoletedIPMsField_item = -1; /* ObsoletedIPMsSubfield */
471 static int hf_x420_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */
472 static int hf_x420_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */
473 static int hf_x420_ExtensionsField_item = -1; /* IPMSExtension */
474 static int hf_x420_Body_item = -1; /* BodyPart */
475 static int hf_x420_basic = -1; /* T_basic */
476 static int hf_x420_ia5_text = -1; /* IA5TextBodyPart */
477 static int hf_x420_g3_facsimile = -1; /* G3FacsimileBodyPart */
478 static int hf_x420_g4_class1 = -1; /* G4Class1BodyPart */
479 static int hf_x420_teletex = -1; /* TeletexBodyPart */
480 static int hf_x420_videotex = -1; /* VideotexBodyPart */
481 static int hf_x420_encrypted_bp = -1; /* EncryptedBodyPart */
482 static int hf_x420_message = -1; /* MessageBodyPart */
483 static int hf_x420_mixed_mode = -1; /* MixedModeBodyPart */
484 static int hf_x420_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */
485 static int hf_x420_nationally_defined = -1; /* NationallyDefinedBodyPart */
486 static int hf_x420_extended = -1; /* ExtendedBodyPart */
487 static int hf_x420_extended_parameters = -1; /* INSTANCE_OF */
488 static int hf_x420_extended_data = -1; /* INSTANCE_OF */
489 static int hf_x420_ia5text_parameters = -1; /* IA5TextParameters */
490 static int hf_x420_ia5text_data = -1; /* IA5TextData */
491 static int hf_x420_repertoire = -1; /* Repertoire */
492 static int hf_x420_g3facsimile_parameters = -1; /* G3FacsimileParameters */
493 static int hf_x420_g3facsimile_data = -1; /* G3FacsimileData */
494 static int hf_x420_number_of_pages = -1; /* INTEGER */
495 static int hf_x420_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */
496 static int hf_x420_G3FacsimileData_item = -1; /* BIT_STRING */
497 static int hf_x420_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */
498 static int hf_x420_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */
499 static int hf_x420_teletex_parameters = -1; /* TeletexParameters */
500 static int hf_x420_teletex_data = -1; /* TeletexData */
501 static int hf_x420_telex_compatible = -1; /* BOOLEAN */
502 static int hf_x420_teletex_non_basic_parameters = -1; /* TeletexNonBasicParameters */
503 static int hf_x420_TeletexData_item = -1; /* TeletexString */
504 static int hf_x420_videotex_parameters = -1; /* VideotexParameters */
505 static int hf_x420_videotex_data = -1; /* VideotexData */
506 static int hf_x420_syntax = -1; /* VideotexSyntax */
507 static int hf_x420_encrypted_parameters = -1; /* EncryptedParameters */
508 static int hf_x420_encrypted_data = -1; /* EncryptedData */
509 static int hf_x420_algorithm_identifier = -1; /* AlgorithmIdentifier */
510 static int hf_x420_originator_certificates = -1; /* ExtendedCertificates */
511 static int hf_x420_message_parameters = -1; /* MessageParameters */
512 static int hf_x420_message_data = -1; /* MessageData */
513 static int hf_x420_delivery_time = -1; /* MessageDeliveryTime */
514 static int hf_x420_delivery_envelope = -1; /* OtherMessageDeliveryFields */
515 static int hf_x420_subject_ipm = -1; /* SubjectIPMField */
516 static int hf_x420_ipn_originator = -1; /* IPNOriginatorField */
517 static int hf_x420_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */
518 static int hf_x420_conversion_eits = -1; /* ConversionEITsField */
519 static int hf_x420_notification_extensions = -1; /* NotificationExtensionsField */
520 static int hf_x420_non_receipt_reason = -1; /* NonReceiptReasonField */
521 static int hf_x420_discard_reason = -1; /* DiscardReasonField */
522 static int hf_x420_auto_forward_comment = -1; /* AutoForwardCommentField */
523 static int hf_x420_returned_ipm = -1; /* ReturnedIPMField */
524 static int hf_x420_nrn_extensions = -1; /* NRNExtensionsField */
525 static int hf_x420_receipt_time = -1; /* ReceiptTimeField */
526 static int hf_x420_acknowledgment_mode = -1; /* AcknowledgmentModeField */
527 static int hf_x420_suppl_receipt_info = -1; /* SupplReceiptInfoField */
528 static int hf_x420_rn_extensions = -1; /* RNExtensionsField */
529 static int hf_x420_NotificationExtensionsField_item = -1; /* IPMSExtension */
530 static int hf_x420_NRNExtensionsField_item = -1; /* IPMSExtension */
531 static int hf_x420_RNExtensionsField_item = -1; /* IPMSExtension */
532 static int hf_x420_OtherNotificationTypeFields_item = -1; /* IPMSExtension */
533 static int hf_x420_advice = -1; /* BodyPart */
534 static int hf_x420_next_available = -1; /* Time */
535 static int hf_x420_new_address = -1; /* ORDescriptor */
536 static int hf_x420_effective_from = -1; /* Time */
537 static int hf_x420_assembly_instructions = -1; /* BodyPartReferences */
538 static int hf_x420_BodyPartReferences_item = -1; /* BodyPartReference */
539 static int hf_x420_stored_entry = -1; /* SequenceNumber */
540 static int hf_x420_stored_content = -1; /* SequenceNumber */
541 static int hf_x420_submitted_body_part = -1; /* INTEGER_1_MAX */
542 static int hf_x420_stored_body_part = -1; /* T_stored_body_part */
543 static int hf_x420_message_entry = -1; /* SequenceNumber */
544 static int hf_x420_body_part_number = -1; /* BodyPartNumber */
545 static int hf_x420_Languages_item = -1; /* Language */
546 static int hf_x420_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */
547 static int hf_x420_body_part_signature = -1; /* BodyPartSignature */
548 static int hf_x420_originator_certificate_selector = -1; /* CertificateAssertion */
549 static int hf_x420_algorithmIdentifier = -1; /* AlgorithmIdentifier */
550 static int hf_x420_encrypted = -1; /* BIT_STRING */
551 static int hf_x420_content_security_label = -1; /* SecurityLabel */
552 static int hf_x420_heading_security_label = -1; /* SecurityLabel */
553 static int hf_x420_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */
554 static int hf_x420_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */
555 static int hf_x420_body_part_unlabelled = -1; /* NULL */
556 static int hf_x420_body_part_security_label = -1; /* SecurityLabel */
557 static int hf_x420_CirculationList_item = -1; /* CirculationMember */
558 static int hf_x420_circulation_recipient = -1; /* RecipientSpecifier */
559 static int hf_x420_checked = -1; /* Checkmark */
560 static int hf_x420_simple = -1; /* NULL */
561 static int hf_x420_timestamped = -1; /* CirculationTime */
562 static int hf_x420_signed = -1; /* CirculationSignature */
563 static int hf_x420_circulation_signature_algorithm_identifier = -1; /* CirculationSignatureAlgorithmIdentifier */
564 static int hf_x420_timestamp = -1; /* CirculationTime */
565 static int hf_x420_circulation_signature_data = -1; /* CirculationSignatureData */
566 static int hf_x420_DistributionCodes_item = -1; /* DistributionCode */
567 static int hf_x420_oid_code = -1; /* OBJECT_IDENTIFIER */
568 static int hf_x420_alphanumeric_code = -1; /* AlphaCode */
569 static int hf_x420_or_descriptor = -1; /* ORDescriptor */
570 static int hf_x420_InformationCategories_item = -1; /* InformationCategory */
571 static int hf_x420_reference = -1; /* OBJECT_IDENTIFIER */
572 static int hf_x420_description = -1; /* DescriptionString */
573 static int hf_x420_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */
574 static int hf_x420_GeneralTextParameters_item = -1; /* CharacterSetRegistration */
575 static int hf_x420_related_stored_file = -1; /* RelatedStoredFile */
576 static int hf_x420_contents_type = -1; /* ContentsTypeParameter */
577 static int hf_x420_environment = -1; /* EnvironmentParameter */
578 static int hf_x420_compression = -1; /* CompressionParameter */
579 static int hf_x420_file_attributes = -1; /* FileAttributes */
580 static int hf_x420_FileTransferData_item = -1; /* EXTERNAL */
581 static int hf_x420_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */
582 static int hf_x420_file_identifier = -1; /* FileIdentifier */
583 static int hf_x420_relationship = -1; /* Relationship */
584 static int hf_x420_pathname_and_version = -1; /* PathnameandVersion */
585 static int hf_x420_cross_reference = -1; /* CrossReference */
586 static int hf_x420_pathname = -1; /* Pathname_Attribute */
587 static int hf_x420_file_version = -1; /* GraphicString */
588 static int hf_x420_application_cross_reference = -1; /* OCTET_STRING */
589 static int hf_x420_message_reference = -1; /* MessageReference */
590 static int hf_x420_body_part_reference = -1; /* INTEGER */
591 static int hf_x420_user_relative_identifier_ref = -1; /* PrintableString */
592 static int hf_x420_explicit_relationship = -1; /* ExplicitRelationship */
593 static int hf_x420_descriptive_relationship = -1; /* GraphicString */
594 static int hf_x420_document_type = -1; /* T_document_type */
595 static int hf_x420_document_type_name = -1; /* Document_Type_Name */
596 static int hf_x420_parameter = -1; /* T_parameter */
597 static int hf_x420_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */
598 static int hf_x420_constraint_set_name = -1; /* Constraint_Set_Name */
599 static int hf_x420_abstract_syntax_name = -1; /* Abstract_Syntax_Name */
600 static int hf_x420_application_reference = -1; /* GeneralIdentifier */
601 static int hf_x420_machine = -1; /* GeneralIdentifier */
602 static int hf_x420_operating_system = -1; /* OBJECT_IDENTIFIER */
603 static int hf_x420_user_visible_string = -1; /* T_user_visible_string */
604 static int hf_x420_user_visible_string_item = -1; /* GraphicString */
605 static int hf_x420_registered_identifier = -1; /* OBJECT_IDENTIFIER */
606 static int hf_x420_descriptive_identifier = -1; /* T_descriptive_identifier */
607 static int hf_x420_descriptive_identifier_item = -1; /* GraphicString */
608 static int hf_x420_compression_algorithm_id = -1; /* T_compression_algorithm_id */
609 static int hf_x420_compression_algorithm_param = -1; /* T_compression_algorithm_param */
610 static int hf_x420_permitted_actions = -1; /* Permitted_Actions_Attribute */
611 static int hf_x420_storage_account = -1; /* Account_Attribute */
612 static int hf_x420_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
613 static int hf_x420_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
614 static int hf_x420_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
615 static int hf_x420_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
616 static int hf_x420_identity_of_creator = -1; /* User_Identity_Attribute */
617 static int hf_x420_identity_of_last_modifier = -1; /* User_Identity_Attribute */
618 static int hf_x420_identity_of_last_reader = -1; /* User_Identity_Attribute */
619 static int hf_x420_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */
620 static int hf_x420_object_availability = -1; /* Object_Availability_Attribute */
621 static int hf_x420_object_size = -1; /* Object_Size_Attribute */
622 static int hf_x420_future_object_size = -1; /* Object_Size_Attribute */
623 static int hf_x420_access_control = -1; /* Access_Control_Attribute */
624 static int hf_x420_legal_qualifications = -1; /* Legal_Qualification_Attribute */
625 static int hf_x420_private_use = -1; /* Private_Use_Attribute */
626 static int hf_x420_attribute_extensions = -1; /* Attribute_Extensions */
627 static int hf_x420_incomplete_pathname = -1; /* Pathname */
628 static int hf_x420_complete_pathname = -1; /* Pathname */
629 static int hf_x420_no_value_available = -1; /* NULL */
630 static int hf_x420_account_actual_values = -1; /* Account */
631 static int hf_x420_identity_actual_values = -1; /* User_Identity */
632 static int hf_x420_actual_values = -1; /* SET_OF_Access_Control_Element */
633 static int hf_x420_actual_values_item = -1; /* Access_Control_Element */
634 static int hf_x420_action_list = -1; /* Access_Request */
635 static int hf_x420_concurrency_access = -1; /* Concurrency_Access */
636 static int hf_x420_identity = -1; /* User_Identity */
637 static int hf_x420_passwords = -1; /* Access_Passwords */
638 static int hf_x420_location = -1; /* Application_Entity_Title */
639 static int hf_x420_read_password = -1; /* Password */
640 static int hf_x420_insert_password = -1; /* Password */
641 static int hf_x420_replace_password = -1; /* Password */
642 static int hf_x420_extend_password = -1; /* Password */
643 static int hf_x420_erase_password = -1; /* Password */
644 static int hf_x420_read_attribute_password = -1; /* Password */
645 static int hf_x420_change_attribute_password = -1; /* Password */
646 static int hf_x420_delete_password = -1; /* Password */
647 static int hf_x420_pass_passwords = -1; /* Pass_Passwords */
648 static int hf_x420_link_password = -1; /* Password */
649 static int hf_x420_graphic_string = -1; /* GraphicString */
650 static int hf_x420_octet_string = -1; /* OCTET_STRING */
651 static int hf_x420_Pass_Passwords_item = -1; /* Password */
652 static int hf_x420_ap_title = -1; /* AP_title */
653 static int hf_x420_ae_qualifier = -1; /* AE_qualifier */
654 static int hf_x420_voice_message_duration = -1; /* INTEGER */
655 static int hf_x420_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */
656 static int hf_x420_supplementary_information = -1; /* IA5String */
657 static int hf_x420_mts_identifier = -1; /* MessageDeliveryIdentifier */
658 static int hf_x420_submission_proof = -1; /* SubmissionProof */
659 static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */
660 static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
661 static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
662 static int hf_x420_IPMSynopsis_item = -1; /* BodyPartSynopsis */
663 static int hf_x420_message_synopsis = -1; /* MessageBodyPartSynopsis */
664 static int hf_x420_non_message = -1; /* NonMessageBodyPartSynopsis */
665 static int hf_x420_number = -1; /* SequenceNumber */
666 static int hf_x420_synopsis = -1; /* IPMSynopsis */
667 static int hf_x420_bp_type = -1; /* OBJECT_IDENTIFIER */
668 static int hf_x420_bp_parameters = -1; /* INSTANCE_OF */
669 static int hf_x420_size = -1; /* INTEGER */
670 static int hf_x420_processed = -1; /* BOOLEAN */
671 static int hf_x420_data = -1; /* OBJECT_IDENTIFIER */
672 static int hf_x420_parameters = -1; /* OBJECT_IDENTIFIER */
673 static int hf_x420_this_child_entry = -1; /* SequenceNumber */
674 static int hf_x420_position = -1; /* INTEGER */
675 static int hf_x420_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */
676 static int hf_x420_body_part_sequence_number = -1; /* BodyPartNumber */
677 static int hf_x420_body_part_signature_status = -1; /* SignatureStatus */
678 static int hf_x420_stored = -1; /* SET_OF_SequenceNumber */
679 static int hf_x420_stored_item = -1; /* SequenceNumber */
680 static int hf_x420_absent = -1; /* NULL */
681 static int hf_x420_no_reply_received = -1; /* NULL */
682 static int hf_x420_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */
683 static int hf_x420_received_replies_item = -1; /* SequenceNumber */
684 static int hf_x420_no_ipn_received = -1; /* NULL */
685 static int hf_x420_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */
686 static int hf_x420_ipns_received_item = -1; /* SequenceNumber */
687 static int hf_x420_content_or_arguments = -1; /* T_content_or_arguments */
688 static int hf_x420_original_content = -1; /* OriginalContent */
689 static int hf_x420_original_security_arguments = -1; /* T_original_security_arguments */
690 static int hf_x420_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */
691 static int hf_x420_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */
692 static int hf_x420_original_message_token = -1; /* OriginalMessageToken */
693 static int hf_x420_security_diagnostic_code = -1; /* SecurityDiagnosticCode */
694 static int hf_x420_BodyPartTokens_item = -1; /* BodyPartTokens_item */
695 static int hf_x420_body_part_choice = -1; /* T_body_part_choice */
696 static int hf_x420_encryption_token = -1; /* EncryptionToken */
697 static int hf_x420_message_or_content_body_part = -1; /* BodyPartTokens */
698 static int hf_x420_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
699 static int hf_x420_encrypted_key = -1; /* BIT_STRING */
700 static int hf_x420_recipient_certificate_selector = -1; /* CertificateAssertion */
701 static int hf_x420_recipient_certificate = -1; /* Certificates */
702 static int hf_x420_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */
703 static int hf_x420_body_part_token_choice = -1; /* T_body_part_token_choice */
704 static int hf_x420_forwarding_token = -1; /* MessageToken */
705 static int hf_x420_forwarded_content_token = -1; /* ForwardedContentToken */
706 static int hf_x420_choice = -1; /* T_choice */
707 static int hf_x420_non_receipt_fields = -1; /* NonReceiptFields */
708 static int hf_x420_receipt_fields = -1; /* ReceiptFields */
709 static int hf_x420_other_notification_type_fields = -1; /* OtherNotificationTypeFields */
711 static int hf_x420_NotificationRequests_rn = -1;
712 static int hf_x420_NotificationRequests_nrn = -1;
713 static int hf_x420_NotificationRequests_ipm_return = -1;
714 static int hf_x420_NotificationRequests_an_supported = -1;
715 static int hf_x420_NotificationRequests_suppress_an = -1;
716 static int hf_x420_Access_Request_read = -1;
717 static int hf_x420_Access_Request_insert = -1;
718 static int hf_x420_Access_Request_replace = -1;
719 static int hf_x420_Access_Request_extend = -1;
720 static int hf_x420_Access_Request_erase = -1;
721 static int hf_x420_Access_Request_read_attribute = -1;
722 static int hf_x420_Access_Request_change_attribute = -1;
723 static int hf_x420_Access_Request_delete_object = -1;
724 static int hf_x420_RecipientSecurityRequest_content_non_repudiation = -1;
725 static int hf_x420_RecipientSecurityRequest_content_proof = -1;
726 static int hf_x420_RecipientSecurityRequest_ipn_non_repudiation = -1;
727 static int hf_x420_RecipientSecurityRequest_ipn_proof = -1;
729 /*--- End of included file: packet-x420-hf.c ---*/
730 #line 88 "packet-x420-template.c"
732 /* Initialize the subtree pointers */
733 static gint ett_x420 = -1;
735 /*--- Included file: packet-x420-ett.c ---*/
736 #line 1 "packet-x420-ett.c"
737 static gint ett_x420_InformationObject = -1;
738 static gint ett_x420_IPM = -1;
739 static gint ett_x420_IPMSExtension = -1;
740 static gint ett_x420_Heading = -1;
741 static gint ett_x420_IPMIdentifier_U = -1;
742 static gint ett_x420_RecipientSpecifier = -1;
743 static gint ett_x420_ORDescriptor = -1;
744 static gint ett_x420_NotificationRequests = -1;
745 static gint ett_x420_RecipientExtensionsField = -1;
746 static gint ett_x420_AuthorizingUsersField = -1;
747 static gint ett_x420_PrimaryRecipientsField = -1;
748 static gint ett_x420_CopyRecipientsField = -1;
749 static gint ett_x420_BlindCopyRecipientsField = -1;
750 static gint ett_x420_ObsoletedIPMsField = -1;
751 static gint ett_x420_RelatedIPMsField = -1;
752 static gint ett_x420_ReplyRecipientsField = -1;
753 static gint ett_x420_ExtensionsField = -1;
754 static gint ett_x420_Body = -1;
755 static gint ett_x420_BodyPart = -1;
756 static gint ett_x420_T_basic = -1;
757 static gint ett_x420_ExtendedBodyPart = -1;
758 static gint ett_x420_IA5TextBodyPart = -1;
759 static gint ett_x420_IA5TextParameters = -1;
760 static gint ett_x420_G3FacsimileBodyPart = -1;
761 static gint ett_x420_G3FacsimileParameters = -1;
762 static gint ett_x420_G3FacsimileData = -1;
763 static gint ett_x420_G4Class1BodyPart = -1;
764 static gint ett_x420_MixedModeBodyPart = -1;
765 static gint ett_x420_TeletexBodyPart = -1;
766 static gint ett_x420_TeletexParameters = -1;
767 static gint ett_x420_TeletexData = -1;
768 static gint ett_x420_VideotexBodyPart = -1;
769 static gint ett_x420_VideotexParameters = -1;
770 static gint ett_x420_EncryptedBodyPart = -1;
771 static gint ett_x420_EncryptedParameters = -1;
772 static gint ett_x420_MessageBodyPart = -1;
773 static gint ett_x420_MessageParameters = -1;
774 static gint ett_x420_IPN = -1;
775 static gint ett_x420_CommonFields = -1;
776 static gint ett_x420_NonReceiptFields = -1;
777 static gint ett_x420_ReceiptFields = -1;
778 static gint ett_x420_NotificationExtensionsField = -1;
779 static gint ett_x420_NRNExtensionsField = -1;
780 static gint ett_x420_RNExtensionsField = -1;
781 static gint ett_x420_OtherNotificationTypeFields = -1;
782 static gint ett_x420_AbsenceAdvice = -1;
783 static gint ett_x420_ChangeOfAddressAdvice = -1;
784 static gint ett_x420_IPMAssemblyInstructions = -1;
785 static gint ett_x420_BodyPartReferences = -1;
786 static gint ett_x420_BodyPartReference = -1;
787 static gint ett_x420_T_stored_body_part = -1;
788 static gint ett_x420_Languages = -1;
789 static gint ett_x420_BodyPartSignatures = -1;
790 static gint ett_x420_BodyPartSignatures_item = -1;
791 static gint ett_x420_Signature = -1;
792 static gint ett_x420_IPMSecurityLabel = -1;
793 static gint ett_x420_SEQUENCE_OF_BodyPartSecurityLabel = -1;
794 static gint ett_x420_BodyPartSecurityLabel = -1;
795 static gint ett_x420_CirculationList = -1;
796 static gint ett_x420_CirculationMember = -1;
797 static gint ett_x420_Checkmark = -1;
798 static gint ett_x420_CirculationSignatureData = -1;
799 static gint ett_x420_CirculationSignature = -1;
800 static gint ett_x420_DistributionCodes = -1;
801 static gint ett_x420_DistributionCode = -1;
802 static gint ett_x420_InformationCategories = -1;
803 static gint ett_x420_InformationCategory = -1;
804 static gint ett_x420_ManualHandlingInstructions = -1;
805 static gint ett_x420_GeneralTextParameters = -1;
806 static gint ett_x420_FileTransferParameters = -1;
807 static gint ett_x420_FileTransferData = -1;
808 static gint ett_x420_RelatedStoredFile = -1;
809 static gint ett_x420_RelatedStoredFile_item = -1;
810 static gint ett_x420_FileIdentifier = -1;
811 static gint ett_x420_PathnameandVersion = -1;
812 static gint ett_x420_CrossReference = -1;
813 static gint ett_x420_MessageReference = -1;
814 static gint ett_x420_Relationship = -1;
815 static gint ett_x420_Contents_Type_Attribute = -1;
816 static gint ett_x420_T_document_type = -1;
817 static gint ett_x420_T_constraint_set_and_abstract_syntax = -1;
818 static gint ett_x420_EnvironmentParameter = -1;
819 static gint ett_x420_T_user_visible_string = -1;
820 static gint ett_x420_GeneralIdentifier = -1;
821 static gint ett_x420_T_descriptive_identifier = -1;
822 static gint ett_x420_CompressionParameter = -1;
823 static gint ett_x420_FileAttributes = -1;
824 static gint ett_x420_Pathname_Attribute = -1;
825 static gint ett_x420_Account_Attribute = -1;
826 static gint ett_x420_User_Identity_Attribute = -1;
827 static gint ett_x420_Access_Control_Attribute = -1;
828 static gint ett_x420_SET_OF_Access_Control_Element = -1;
829 static gint ett_x420_Access_Control_Element = -1;
830 static gint ett_x420_Access_Request = -1;
831 static gint ett_x420_Access_Passwords = -1;
832 static gint ett_x420_Password = -1;
833 static gint ett_x420_Pass_Passwords = -1;
834 static gint ett_x420_Application_Entity_Title = -1;
835 static gint ett_x420_VoiceParameters = -1;
836 static gint ett_x420_ForwardedContentParameters = -1;
837 static gint ett_x420_SubmissionProof = -1;
838 static gint ett_x420_IPMSynopsis = -1;
839 static gint ett_x420_BodyPartSynopsis = -1;
840 static gint ett_x420_MessageBodyPartSynopsis = -1;
841 static gint ett_x420_NonMessageBodyPartSynopsis = -1;
842 static gint ett_x420_BodyPartDescriptor = -1;
843 static gint ett_x420_BodyPartSignatureVerification = -1;
844 static gint ett_x420_BodyPartSignatureVerification_item = -1;
845 static gint ett_x420_IPMLocation = -1;
846 static gint ett_x420_SET_OF_SequenceNumber = -1;
847 static gint ett_x420_CorrelatedDeliveredReplies = -1;
848 static gint ett_x420_SEQUENCE_OF_SequenceNumber = -1;
849 static gint ett_x420_CorrelatedDeliveredIPNs = -1;
850 static gint ett_x420_RecipientSecurityRequest = -1;
851 static gint ett_x420_IpnSecurityResponse = -1;
852 static gint ett_x420_T_content_or_arguments = -1;
853 static gint ett_x420_T_original_security_arguments = -1;
854 static gint ett_x420_BodyPartTokens = -1;
855 static gint ett_x420_BodyPartTokens_item = -1;
856 static gint ett_x420_T_body_part_choice = -1;
857 static gint ett_x420_EncryptionToken = -1;
858 static gint ett_x420_ForwardedContentToken = -1;
859 static gint ett_x420_ForwardedContentToken_item = -1;
860 static gint ett_x420_T_body_part_token_choice = -1;
861 static gint ett_x420_T_choice = -1;
863 /*--- End of included file: packet-x420-ett.c ---*/
864 #line 92 "packet-x420-template.c"
867 /*--- Included file: packet-x420-fn.c ---*/
868 #line 1 "packet-x420-fn.c"
869 /*--- Cyclic dependencies ---*/
871 /* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */
872 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_);
874 /* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */
875 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_);
877 /* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */
878 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_);
880 /* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */
881 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_);
887 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_) {
888 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
896 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_) {
897 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
898 actx, tree, tvb, offset,
899 0, ub_local_ipm_identifier, hf_index, NULL);
905 static const ber_sequence_t IPMIdentifier_U_set[] = {
906 { &hf_x420_user , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName },
907 { &hf_x420_user_relative_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_LocalIPMIdentifier },
908 { NULL, 0, 0, 0, NULL }
912 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_) {
913 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
914 IPMIdentifier_U_set, hf_index, ett_x420_IPMIdentifier_U);
922 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_) {
923 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
924 hf_index, BER_CLASS_APP, 11, TRUE, dissect_x420_IPMIdentifier_U);
932 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_) {
933 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
941 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_) {
942 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
943 actx, tree, tvb, offset,
944 0, ub_free_form_name, hf_index, NULL);
952 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_) {
953 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
954 actx, tree, tvb, offset,
955 0, ub_telephone_number, hf_index, NULL);
961 static const ber_sequence_t ORDescriptor_set[] = {
962 { &hf_x420_formal_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ORName },
963 { &hf_x420_free_form_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FreeFormName },
964 { &hf_x420_telephone_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_TelephoneNumber },
965 { NULL, 0, 0, 0, NULL }
969 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_) {
970 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
971 ORDescriptor_set, hf_index, ett_x420_ORDescriptor);
979 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_) {
980 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
988 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_) {
989 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
995 static const ber_sequence_t AuthorizingUsersField_sequence_of[1] = {
996 { &hf_x420_AuthorizingUsersField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_AuthorizingUsersSubfield },
1000 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_) {
1001 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1002 AuthorizingUsersField_sequence_of, hf_index, ett_x420_AuthorizingUsersField);
1008 static const asn_namedbit NotificationRequests_bits[] = {
1009 { 0, &hf_x420_NotificationRequests_rn, -1, -1, "rn", NULL },
1010 { 1, &hf_x420_NotificationRequests_nrn, -1, -1, "nrn", NULL },
1011 { 2, &hf_x420_NotificationRequests_ipm_return, -1, -1, "ipm-return", NULL },
1012 { 3, &hf_x420_NotificationRequests_an_supported, -1, -1, "an-supported", NULL },
1013 { 4, &hf_x420_NotificationRequests_suppress_an, -1, -1, "suppress-an", NULL },
1014 { 0, NULL, 0, 0, NULL, NULL }
1018 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_) {
1019 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1020 NotificationRequests_bits, hf_index, ett_x420_NotificationRequests,
1029 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_) {
1030 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1038 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_) {
1039 #line 217 "x420.cnf"
1040 const char *name = NULL;
1042 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
1045 name = oid_resolved_from_string(object_identifier_id);
1046 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
1056 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_) {
1057 #line 225 "x420.cnf"
1059 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
1067 static const ber_sequence_t IPMSExtension_sequence[] = {
1068 { &hf_x420_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_T_type },
1069 { &hf_x420_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_T_value },
1070 { NULL, 0, 0, 0, NULL }
1074 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_) {
1075 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1076 IPMSExtension_sequence, hf_index, ett_x420_IPMSExtension);
1082 static const ber_sequence_t RecipientExtensionsField_set_of[1] = {
1083 { &hf_x420_RecipientExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1087 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_) {
1088 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1089 RecipientExtensionsField_set_of, hf_index, ett_x420_RecipientExtensionsField);
1095 static const ber_sequence_t RecipientSpecifier_set[] = {
1096 { &hf_x420_recipient , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
1097 { &hf_x420_notification_requests, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationRequests },
1098 { &hf_x420_reply_requested, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
1099 { &hf_x420_recipient_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RecipientExtensionsField },
1100 { NULL, 0, 0, 0, NULL }
1104 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_) {
1105 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1106 RecipientSpecifier_set, hf_index, ett_x420_RecipientSpecifier);
1114 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_) {
1115 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1121 static const ber_sequence_t PrimaryRecipientsField_sequence_of[1] = {
1122 { &hf_x420_PrimaryRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_PrimaryRecipientsSubfield },
1126 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_) {
1127 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1128 PrimaryRecipientsField_sequence_of, hf_index, ett_x420_PrimaryRecipientsField);
1136 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_) {
1137 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1143 static const ber_sequence_t CopyRecipientsField_sequence_of[1] = {
1144 { &hf_x420_CopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CopyRecipientsSubfield },
1148 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_) {
1149 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1150 CopyRecipientsField_sequence_of, hf_index, ett_x420_CopyRecipientsField);
1158 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_) {
1159 offset = dissect_x420_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1165 static const ber_sequence_t BlindCopyRecipientsField_sequence_of[1] = {
1166 { &hf_x420_BlindCopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BlindCopyRecipientsSubfield },
1170 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_) {
1171 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1172 BlindCopyRecipientsField_sequence_of, hf_index, ett_x420_BlindCopyRecipientsField);
1180 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_) {
1181 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1189 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_) {
1190 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1196 static const ber_sequence_t ObsoletedIPMsField_sequence_of[1] = {
1197 { &hf_x420_ObsoletedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ObsoletedIPMsSubfield },
1201 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_) {
1202 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1203 ObsoletedIPMsField_sequence_of, hf_index, ett_x420_ObsoletedIPMsField);
1211 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_) {
1212 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1218 static const ber_sequence_t RelatedIPMsField_sequence_of[1] = {
1219 { &hf_x420_RelatedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedIPMsSubfield },
1223 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_) {
1224 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1225 RelatedIPMsField_sequence_of, hf_index, ett_x420_RelatedIPMsField);
1233 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_) {
1234 #line 245 "x420.cnf"
1235 tvbuff_t *subject=NULL;
1237 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1238 actx, tree, tvb, offset,
1239 0, ub_subject_field, hf_index, &subject);
1242 if(subject && check_col(actx->pinfo->cinfo, COL_INFO))
1243 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", tvb_format_text(subject, 0, tvb_length(subject)));
1253 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_) {
1254 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1262 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_) {
1263 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1271 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_) {
1272 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1278 static const ber_sequence_t ReplyRecipientsField_sequence_of[1] = {
1279 { &hf_x420_ReplyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ReplyRecipientsSubfield },
1283 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_) {
1284 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1285 ReplyRecipientsField_sequence_of, hf_index, ett_x420_ReplyRecipientsField);
1291 static const value_string x420_ImportanceField_vals[] = {
1300 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_) {
1301 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1308 static const value_string x420_SensitivityField_vals[] = {
1311 { 3, "company-confidential" },
1317 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_) {
1318 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1327 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_) {
1328 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1334 static const ber_sequence_t ExtensionsField_set_of[1] = {
1335 { &hf_x420_ExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1339 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_) {
1340 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1341 ExtensionsField_set_of, hf_index, ett_x420_ExtensionsField);
1347 static const ber_sequence_t Heading_set[] = {
1348 { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField },
1349 { &hf_x420_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginatorField },
1350 { &hf_x420_authorizing_users, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AuthorizingUsersField },
1351 { &hf_x420_primary_recipients, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_PrimaryRecipientsField },
1352 { &hf_x420_copy_recipients, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CopyRecipientsField },
1353 { &hf_x420_blind_copy_recipients, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BlindCopyRecipientsField },
1354 { &hf_x420_replied_to_IPM , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RepliedToIPMField },
1355 { &hf_x420_obsoleted_IPMs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ObsoletedIPMsField },
1356 { &hf_x420_related_IPMs , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedIPMsField },
1357 { &hf_x420_subject , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_x420_SubjectField },
1358 { &hf_x420_expiry_time , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExpiryTimeField },
1359 { &hf_x420_reply_time , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyTimeField },
1360 { &hf_x420_reply_recipients, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReplyRecipientsField },
1361 { &hf_x420_importance , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ImportanceField },
1362 { &hf_x420_sensitivity , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SensitivityField },
1363 { &hf_x420_auto_forwarded , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardedField },
1364 { &hf_x420_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField },
1365 { NULL, 0, 0, 0, NULL }
1369 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_) {
1370 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1371 Heading_set, hf_index, ett_x420_Heading);
1377 static const value_string x420_Repertoire_vals[] = {
1385 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_) {
1386 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1393 static const ber_sequence_t IA5TextParameters_set[] = {
1394 { &hf_x420_repertoire , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Repertoire },
1395 { NULL, 0, 0, 0, NULL }
1399 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_) {
1400 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1401 IA5TextParameters_set, hf_index, ett_x420_IA5TextParameters);
1409 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_) {
1410 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1411 actx, tree, tvb, offset, hf_index,
1418 static const ber_sequence_t IA5TextBodyPart_sequence[] = {
1419 { &hf_x420_ia5text_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextParameters },
1420 { &hf_x420_ia5text_data , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_x420_IA5TextData },
1421 { NULL, 0, 0, 0, NULL }
1425 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_) {
1426 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1427 IA5TextBodyPart_sequence, hf_index, ett_x420_IA5TextBodyPart);
1435 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_) {
1436 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1443 static const ber_sequence_t G3FacsimileParameters_set[] = {
1444 { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
1445 { &hf_x420_g3facsimile_non_basic_parameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_G3FacsimileNonBasicParameters },
1446 { NULL, 0, 0, 0, NULL }
1450 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_) {
1451 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1452 G3FacsimileParameters_set, hf_index, ett_x420_G3FacsimileParameters);
1460 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_) {
1461 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1469 static const ber_sequence_t G3FacsimileData_sequence_of[1] = {
1470 { &hf_x420_G3FacsimileData_item, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
1474 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_) {
1475 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1476 G3FacsimileData_sequence_of, hf_index, ett_x420_G3FacsimileData);
1482 static const ber_sequence_t G3FacsimileBodyPart_sequence[] = {
1483 { &hf_x420_g3facsimile_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileParameters },
1484 { &hf_x420_g3facsimile_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_G3FacsimileData },
1485 { NULL, 0, 0, 0, NULL }
1489 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_) {
1490 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1491 G3FacsimileBodyPart_sequence, hf_index, ett_x420_G3FacsimileBodyPart);
1499 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_) {
1500 #line 263 "x420.cnf"
1501 /* XXX Not implemented yet */
1509 static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = {
1510 { &hf_x420_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
1514 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_) {
1515 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1516 G4Class1BodyPart_sequence_of, hf_index, ett_x420_G4Class1BodyPart);
1522 static const ber_sequence_t TeletexParameters_set[] = {
1523 { &hf_x420_number_of_pages, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
1524 { &hf_x420_telex_compatible, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
1525 { &hf_x420_teletex_non_basic_parameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_TeletexNonBasicParameters },
1526 { NULL, 0, 0, 0, NULL }
1530 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_) {
1531 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1532 TeletexParameters_set, hf_index, ett_x420_TeletexParameters);
1540 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_) {
1541 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1542 actx, tree, tvb, offset, hf_index,
1549 static const ber_sequence_t TeletexData_sequence_of[1] = {
1550 { &hf_x420_TeletexData_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexString },
1554 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_) {
1555 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1556 TeletexData_sequence_of, hf_index, ett_x420_TeletexData);
1562 static const ber_sequence_t TeletexBodyPart_sequence[] = {
1563 { &hf_x420_teletex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexParameters },
1564 { &hf_x420_teletex_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_TeletexData },
1565 { NULL, 0, 0, 0, NULL }
1569 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_) {
1570 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1571 TeletexBodyPart_sequence, hf_index, ett_x420_TeletexBodyPart);
1577 static const value_string x420_VideotexSyntax_vals[] = {
1579 { 1, "data-syntax1" },
1580 { 2, "data-syntax2" },
1581 { 3, "data-syntax3" },
1587 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_) {
1588 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1595 static const ber_sequence_t VideotexParameters_set[] = {
1596 { &hf_x420_syntax , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_VideotexSyntax },
1597 { NULL, 0, 0, 0, NULL }
1601 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_) {
1602 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1603 VideotexParameters_set, hf_index, ett_x420_VideotexParameters);
1611 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_) {
1612 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString,
1613 actx, tree, tvb, offset, hf_index,
1620 static const ber_sequence_t VideotexBodyPart_sequence[] = {
1621 { &hf_x420_videotex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexParameters },
1622 { &hf_x420_videotex_data , BER_CLASS_UNI, BER_UNI_TAG_VideotexString, BER_FLAGS_NOOWNTAG, dissect_x420_VideotexData },
1623 { NULL, 0, 0, 0, NULL }
1627 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_) {
1628 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1629 VideotexBodyPart_sequence, hf_index, ett_x420_VideotexBodyPart);
1635 static const ber_sequence_t EncryptedParameters_set[] = {
1636 { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1637 { &hf_x420_originator_certificates, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ExtendedCertificates },
1638 { NULL, 0, 0, 0, NULL }
1642 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_) {
1643 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1644 EncryptedParameters_set, hf_index, ett_x420_EncryptedParameters);
1652 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_) {
1653 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1661 static const ber_sequence_t EncryptedBodyPart_sequence[] = {
1662 { &hf_x420_encrypted_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedParameters },
1663 { &hf_x420_encrypted_data , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptedData },
1664 { NULL, 0, 0, 0, NULL }
1668 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_) {
1669 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1670 EncryptedBodyPart_sequence, hf_index, ett_x420_EncryptedBodyPart);
1676 static const ber_sequence_t MessageParameters_set[] = {
1677 { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
1678 { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
1679 { NULL, 0, 0, 0, NULL }
1683 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_) {
1684 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1685 MessageParameters_set, hf_index, ett_x420_MessageParameters);
1693 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_) {
1694 offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1700 static const ber_sequence_t MessageBodyPart_sequence[] = {
1701 { &hf_x420_message_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_MessageParameters },
1702 { &hf_x420_message_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_MessageData },
1703 { NULL, 0, 0, 0, NULL }
1707 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_) {
1708 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1709 MessageBodyPart_sequence, hf_index, ett_x420_MessageBodyPart);
1715 static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = {
1716 { &hf_x420_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
1720 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_) {
1721 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1722 MixedModeBodyPart_sequence_of, hf_index, ett_x420_MixedModeBodyPart);
1730 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_) {
1731 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1740 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_) {
1741 #line 266 "x420.cnf"
1742 /* XXX Not implemented yet */
1750 static const value_string x420_T_basic_vals[] = {
1752 { 3, "g3-facsimile" },
1758 { 11, "mixed-mode" },
1759 { 14, "bilaterally-defined" },
1760 { 7, "nationally-defined" },
1764 static const ber_choice_t T_basic_choice[] = {
1765 { 0, &hf_x420_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IA5TextBodyPart },
1766 { 3, &hf_x420_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_G3FacsimileBodyPart },
1767 { 4, &hf_x420_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_G4Class1BodyPart },
1768 { 5, &hf_x420_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x420_TeletexBodyPart },
1769 { 6, &hf_x420_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x420_VideotexBodyPart },
1770 { 8, &hf_x420_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_EncryptedBodyPart },
1771 { 9, &hf_x420_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPart },
1772 { 11, &hf_x420_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_x420_MixedModeBodyPart },
1773 { 14, &hf_x420_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_x420_BilaterallyDefinedBodyPart },
1774 { 7, &hf_x420_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x420_NationallyDefinedBodyPart },
1775 { 0, NULL, 0, 0, 0, NULL }
1779 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_) {
1780 offset = dissect_ber_choice(actx, tree, tvb, offset,
1781 T_basic_choice, hf_index, ett_x420_T_basic,
1790 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_) {
1791 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
1797 static const ber_sequence_t ExtendedBodyPart_sequence[] = {
1798 { &hf_x420_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
1799 { &hf_x420_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_INSTANCE_OF },
1800 { NULL, 0, 0, 0, NULL }
1804 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_) {
1805 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1806 ExtendedBodyPart_sequence, hf_index, ett_x420_ExtendedBodyPart);
1812 static const value_string x420_BodyPart_vals[] = {
1818 static const ber_choice_t BodyPart_choice[] = {
1819 { 0, &hf_x420_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x420_T_basic },
1820 { 1, &hf_x420_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_x420_ExtendedBodyPart },
1821 { 0, NULL, 0, 0, 0, NULL }
1825 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_) {
1826 offset = dissect_ber_choice(actx, tree, tvb, offset,
1827 BodyPart_choice, hf_index, ett_x420_BodyPart,
1834 static const ber_sequence_t Body_sequence_of[1] = {
1835 { &hf_x420_Body_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart },
1839 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_) {
1840 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1841 Body_sequence_of, hf_index, ett_x420_Body);
1847 static const ber_sequence_t IPM_sequence[] = {
1848 { &hf_x420_heading , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_Heading },
1849 { &hf_x420_body , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Body },
1850 { NULL, 0, 0, 0, NULL }
1854 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_) {
1855 #line 229 "x420.cnf"
1857 col_append_str(actx->pinfo->cinfo, COL_INFO, " Message");
1859 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1860 IPM_sequence, hf_index, ett_x420_IPM);
1872 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_) {
1873 offset = dissect_x420_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1881 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_) {
1882 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1890 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_) {
1891 offset = dissect_x420_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1899 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_) {
1900 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
1906 static const ber_sequence_t NotificationExtensionsField_set_of[1] = {
1907 { &hf_x420_NotificationExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1911 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_) {
1912 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1913 NotificationExtensionsField_set_of, hf_index, ett_x420_NotificationExtensionsField);
1919 const value_string x420_NonReceiptReasonField_vals[] = {
1920 { 0, "ipm-discarded" },
1921 { 1, "ipm-auto-forwarded" },
1927 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_) {
1928 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1935 const value_string x420_DiscardReasonField_vals[] = {
1936 { 0, "ipm-expired" },
1937 { 1, "ipm-obsoleted" },
1938 { 2, "user-subscription-terminated" },
1945 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_) {
1946 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1955 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_) {
1956 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1957 actx, tree, tvb, offset,
1958 0, ub_auto_forward_comment, hf_index, NULL);
1966 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_) {
1967 offset = dissect_x420_AutoForwardComment(implicit_tag, tvb, offset, actx, tree, hf_index);
1975 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_) {
1976 offset = dissect_x420_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1982 static const ber_sequence_t NRNExtensionsField_set_of[1] = {
1983 { &hf_x420_NRNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
1987 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_) {
1988 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1989 NRNExtensionsField_set_of, hf_index, ett_x420_NRNExtensionsField);
1995 static const ber_sequence_t NonReceiptFields_set[] = {
1996 { &hf_x420_non_receipt_reason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptReasonField },
1997 { &hf_x420_discard_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DiscardReasonField },
1998 { &hf_x420_auto_forward_comment, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AutoForwardCommentField },
1999 { &hf_x420_returned_ipm , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ReturnedIPMField },
2000 { &hf_x420_nrn_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NRNExtensionsField },
2001 { NULL, 0, 0, 0, NULL }
2005 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_) {
2006 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2007 NonReceiptFields_set, hf_index, ett_x420_NonReceiptFields);
2015 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_) {
2016 offset = dissect_x420_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2022 static const value_string x420_AcknowledgmentModeField_vals[] = {
2030 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_) {
2031 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2040 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_) {
2041 offset = dissect_x411_SupplementaryInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
2047 static const ber_sequence_t RNExtensionsField_set_of[1] = {
2048 { &hf_x420_RNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
2052 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_) {
2053 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2054 RNExtensionsField_set_of, hf_index, ett_x420_RNExtensionsField);
2060 static const ber_sequence_t ReceiptFields_set[] = {
2061 { &hf_x420_receipt_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptTimeField },
2062 { &hf_x420_acknowledgment_mode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_AcknowledgmentModeField },
2063 { &hf_x420_suppl_receipt_info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SupplReceiptInfoField },
2064 { &hf_x420_rn_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RNExtensionsField },
2065 { NULL, 0, 0, 0, NULL }
2069 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_) {
2070 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2071 ReceiptFields_set, hf_index, ett_x420_ReceiptFields);
2077 static const ber_sequence_t OtherNotificationTypeFields_set_of[1] = {
2078 { &hf_x420_OtherNotificationTypeFields_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_IPMSExtension },
2082 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_) {
2083 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2084 OtherNotificationTypeFields_set_of, hf_index, ett_x420_OtherNotificationTypeFields);
2090 static const value_string x420_T_choice_vals[] = {
2091 { 0, "non-receipt-fields" },
2092 { 1, "receipt-fields" },
2093 { 2, "other-notification-type-fields" },
2097 static const ber_choice_t T_choice_choice[] = {
2098 { 0, &hf_x420_non_receipt_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NonReceiptFields },
2099 { 1, &hf_x420_receipt_fields , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_ReceiptFields },
2100 { 2, &hf_x420_other_notification_type_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_OtherNotificationTypeFields },
2101 { 0, NULL, 0, 0, 0, NULL }
2105 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_) {
2106 offset = dissect_ber_choice(actx, tree, tvb, offset,
2107 T_choice_choice, hf_index, ett_x420_T_choice,
2114 static const ber_sequence_t IPN_set[] = {
2115 { &hf_x420_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_SubjectIPMField },
2116 { &hf_x420_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPNOriginatorField },
2117 { &hf_x420_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPMIntendedRecipientField },
2118 { &hf_x420_conversion_eits, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_ConversionEITsField },
2119 { &hf_x420_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationExtensionsField },
2120 { &hf_x420_choice , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_choice },
2121 { NULL, 0, 0, 0, NULL }
2125 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_) {
2126 #line 236 "x420.cnf"
2128 col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification");
2130 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2131 IPN_set, hf_index, ett_x420_IPN);
2140 const value_string x420_InformationObject_vals[] = {
2146 static const ber_choice_t InformationObject_choice[] = {
2147 { 0, &hf_x420_ipm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IPM },
2148 { 1, &hf_x420_ipn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPN },
2149 { 0, NULL, 0, 0, 0, NULL }
2153 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_) {
2154 offset = dissect_ber_choice(actx, tree, tvb, offset,
2155 InformationObject_choice, hf_index, ett_x420_InformationObject,
2163 static const ber_sequence_t AbsenceAdvice_sequence[] = {
2164 { &hf_x420_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart },
2165 { &hf_x420_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_Time },
2166 { NULL, 0, 0, 0, NULL }
2170 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_) {
2171 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2172 AbsenceAdvice_sequence, hf_index, ett_x420_AbsenceAdvice);
2178 static const ber_sequence_t ChangeOfAddressAdvice_sequence[] = {
2179 { &hf_x420_new_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
2180 { &hf_x420_effective_from , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Time },
2181 { NULL, 0, 0, 0, NULL }
2185 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_) {
2186 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2187 ChangeOfAddressAdvice_sequence, hf_index, ett_x420_ChangeOfAddressAdvice);
2195 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_) {
2196 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2197 1U, NO_BOUND, hf_index, NULL);
2205 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_) {
2206 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2207 1U, NO_BOUND, hf_index, NULL);
2213 static const ber_sequence_t T_stored_body_part_sequence[] = {
2214 { &hf_x420_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
2215 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
2216 { NULL, 0, 0, 0, NULL }
2220 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_) {
2221 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2222 T_stored_body_part_sequence, hf_index, ett_x420_T_stored_body_part);
2228 static const value_string x420_BodyPartReference_vals[] = {
2229 { 0, "stored-entry" },
2230 { 1, "stored-content" },
2231 { 2, "submitted-body-part" },
2232 { 3, "stored-body-part" },
2236 static const ber_choice_t BodyPartReference_choice[] = {
2237 { 0, &hf_x420_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2238 { 1, &hf_x420_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2239 { 2, &hf_x420_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER_1_MAX },
2240 { 3, &hf_x420_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_T_stored_body_part },
2241 { 0, NULL, 0, 0, 0, NULL }
2245 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_) {
2246 offset = dissect_ber_choice(actx, tree, tvb, offset,
2247 BodyPartReference_choice, hf_index, ett_x420_BodyPartReference,
2254 static const ber_sequence_t BodyPartReferences_sequence_of[1] = {
2255 { &hf_x420_BodyPartReferences_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartReference },
2259 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_) {
2260 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2261 BodyPartReferences_sequence_of, hf_index, ett_x420_BodyPartReferences);
2267 static const ber_sequence_t IPMAssemblyInstructions_set[] = {
2268 { &hf_x420_assembly_instructions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartReferences },
2269 { NULL, 0, 0, 0, NULL }
2273 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_) {
2274 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2275 IPMAssemblyInstructions_set, hf_index, ett_x420_IPMAssemblyInstructions);
2283 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_) {
2284 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2292 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_) {
2293 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2294 actx, tree, tvb, offset,
2295 2, 5, hf_index, NULL);
2301 static const ber_sequence_t Languages_set_of[1] = {
2302 { &hf_x420_Languages_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x420_Language },
2306 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_) {
2307 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2308 Languages_set_of, hf_index, ett_x420_Languages);
2314 static const value_string x420_AutoSubmitted_vals[] = {
2315 { 0, "not-auto-submitted" },
2316 { 1, "auto-generated" },
2317 { 2, "auto-replied" },
2323 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_) {
2324 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2331 static const ber_sequence_t Signature_sequence[] = {
2332 { &hf_x420_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2333 { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
2334 { NULL, 0, 0, 0, NULL }
2338 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_) {
2339 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2340 Signature_sequence, hf_index, ett_x420_Signature);
2348 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_) {
2349 offset = dissect_x420_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
2355 static const ber_sequence_t BodyPartSignatures_item_set[] = {
2356 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
2357 { &hf_x420_body_part_signature, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignature },
2358 { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
2359 { &hf_x420_originator_certificates, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates },
2360 { NULL, 0, 0, 0, NULL }
2364 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_) {
2365 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2366 BodyPartSignatures_item_set, hf_index, ett_x420_BodyPartSignatures_item);
2372 static const ber_sequence_t BodyPartSignatures_set_of[1] = {
2373 { &hf_x420_BodyPartSignatures_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatures_item },
2377 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_) {
2378 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2379 BodyPartSignatures_set_of, hf_index, ett_x420_BodyPartSignatures);
2387 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_) {
2388 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2394 static const value_string x420_BodyPartSecurityLabel_vals[] = {
2395 { 0, "body-part-unlabelled" },
2396 { 1, "body-part-security-label" },
2400 static const ber_choice_t BodyPartSecurityLabel_choice[] = {
2401 { 0, &hf_x420_body_part_unlabelled, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
2402 { 1, &hf_x420_body_part_security_label, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2403 { 0, NULL, 0, 0, 0, NULL }
2407 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_) {
2408 offset = dissect_ber_choice(actx, tree, tvb, offset,
2409 BodyPartSecurityLabel_choice, hf_index, ett_x420_BodyPartSecurityLabel,
2416 static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = {
2417 { &hf_x420_body_part_security_labels_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSecurityLabel },
2421 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_) {
2422 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2423 SEQUENCE_OF_BodyPartSecurityLabel_sequence_of, hf_index, ett_x420_SEQUENCE_OF_BodyPartSecurityLabel);
2429 static const ber_sequence_t IPMSecurityLabel_sequence[] = {
2430 { &hf_x420_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2431 { &hf_x420_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_SecurityLabel },
2432 { &hf_x420_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_BodyPartSecurityLabel },
2433 { NULL, 0, 0, 0, NULL }
2437 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_) {
2438 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2439 IPMSecurityLabel_sequence, hf_index, ett_x420_IPMSecurityLabel);
2447 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_) {
2448 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2456 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_) {
2457 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2465 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_) {
2466 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
2472 static const ber_sequence_t CirculationSignatureData_sequence[] = {
2473 { &hf_x420_circulation_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureAlgorithmIdentifier },
2474 { &hf_x420_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_ThisIPMField },
2475 { &hf_x420_timestamp , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime },
2476 { NULL, 0, 0, 0, NULL }
2480 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_) {
2481 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2482 CirculationSignatureData_sequence, hf_index, ett_x420_CirculationSignatureData);
2488 static const ber_sequence_t CirculationSignature_sequence[] = {
2489 { &hf_x420_circulation_signature_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignatureData },
2490 { &hf_x420_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2491 { &hf_x420_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
2492 { NULL, 0, 0, 0, NULL }
2496 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_) {
2497 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2498 CirculationSignature_sequence, hf_index, ett_x420_CirculationSignature);
2504 static const value_string x420_Checkmark_vals[] = {
2506 { 1, "timestamped" },
2511 static const ber_choice_t Checkmark_choice[] = {
2512 { 0, &hf_x420_simple , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL },
2513 { 1, &hf_x420_timestamped , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationTime },
2514 { 2, &hf_x420_signed , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationSignature },
2515 { 0, NULL, 0, 0, 0, NULL }
2519 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_) {
2520 offset = dissect_ber_choice(actx, tree, tvb, offset,
2521 Checkmark_choice, hf_index, ett_x420_Checkmark,
2528 static const ber_sequence_t CirculationMember_set[] = {
2529 { &hf_x420_circulation_recipient, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_RecipientSpecifier },
2530 { &hf_x420_checked , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Checkmark },
2531 { NULL, 0, 0, 0, NULL }
2535 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_) {
2536 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2537 CirculationMember_set, hf_index, ett_x420_CirculationMember);
2543 static const ber_sequence_t CirculationList_sequence_of[1] = {
2544 { &hf_x420_CirculationList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_CirculationMember },
2548 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_) {
2549 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2550 2, ub_circulation_list_members, CirculationList_sequence_of, hf_index, ett_x420_CirculationList);
2558 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_) {
2559 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2567 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_) {
2568 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2576 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_) {
2577 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2583 static const ber_sequence_t DistributionCode_sequence[] = {
2584 { &hf_x420_oid_code , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_OBJECT_IDENTIFIER },
2585 { &hf_x420_alphanumeric_code, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_AlphaCode },
2586 { &hf_x420_or_descriptor , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ORDescriptor },
2587 { NULL, 0, 0, 0, NULL }
2591 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_) {
2592 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2593 DistributionCode_sequence, hf_index, ett_x420_DistributionCode);
2599 static const ber_sequence_t DistributionCodes_sequence_of[1] = {
2600 { &hf_x420_DistributionCodes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_DistributionCode },
2604 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_) {
2605 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2606 1, ub_distribution_codes, DistributionCodes_sequence_of, hf_index, ett_x420_DistributionCodes);
2614 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_) {
2615 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2623 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_) {
2624 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2630 static const ber_sequence_t InformationCategory_sequence[] = {
2631 { &hf_x420_reference , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
2632 { &hf_x420_description , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_DescriptionString },
2633 { NULL, 0, 0, 0, NULL }
2637 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_) {
2638 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2639 InformationCategory_sequence, hf_index, ett_x420_InformationCategory);
2645 static const ber_sequence_t InformationCategories_sequence_of[1] = {
2646 { &hf_x420_InformationCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_InformationCategory },
2650 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_) {
2651 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2652 1, ub_information_categories, InformationCategories_sequence_of, hf_index, ett_x420_InformationCategories);
2660 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_) {
2661 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2667 static const ber_sequence_t ManualHandlingInstructions_sequence_of[1] = {
2668 { &hf_x420_ManualHandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ManualHandlingInstruction },
2672 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_) {
2673 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2674 1, ub_manual_handling_instructions, ManualHandlingInstructions_sequence_of, hf_index, ett_x420_ManualHandlingInstructions);
2682 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_) {
2683 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2691 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_) {
2692 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2700 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_) {
2701 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2702 0U, ub_precedence, hf_index, NULL);
2710 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_) {
2711 #line 256 "x420.cnf"
2713 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2714 1U, 32767U, hf_index, &crs);
2717 if(actx->created_item)
2718 proto_item_append_text(actx->created_item, " (%s)", val_to_str(crs, charsetreg_vals, "unknown"));
2726 static const ber_sequence_t GeneralTextParameters_set_of[1] = {
2727 { &hf_x420_GeneralTextParameters_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_CharacterSetRegistration },
2731 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_) {
2732 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2733 GeneralTextParameters_set_of, hf_index, ett_x420_GeneralTextParameters);
2741 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_) {
2742 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
2743 actx, tree, tvb, offset, hf_index,
2750 static const value_string x420_Pathname_Attribute_vals[] = {
2751 { 0, "incomplete-pathname" },
2752 { 23, "complete-pathname" },
2756 static const ber_choice_t Pathname_Attribute_choice[] = {
2757 { 0, &hf_x420_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2758 { 23, &hf_x420_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2759 { 0, NULL, 0, 0, 0, NULL }
2763 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_) {
2764 offset = dissect_ber_choice(actx, tree, tvb, offset,
2765 Pathname_Attribute_choice, hf_index, ett_x420_Pathname_Attribute,
2774 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_) {
2775 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2776 actx, tree, tvb, offset, hf_index,
2783 static const ber_sequence_t PathnameandVersion_sequence[] = {
2784 { &hf_x420_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute },
2785 { &hf_x420_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_GraphicString },
2786 { NULL, 0, 0, 0, NULL }
2790 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_) {
2791 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2792 PathnameandVersion_sequence, hf_index, ett_x420_PathnameandVersion);
2800 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_) {
2801 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2810 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_) {
2811 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2812 actx, tree, tvb, offset, hf_index,
2819 static const ber_sequence_t MessageReference_set[] = {
2820 { &hf_x420_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ORName },
2821 { &hf_x420_user_relative_identifier_ref, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_PrintableString },
2822 { NULL, 0, 0, 0, NULL }
2826 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_) {
2827 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2828 MessageReference_set, hf_index, ett_x420_MessageReference);
2834 static const ber_sequence_t CrossReference_sequence[] = {
2835 { &hf_x420_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OCTET_STRING },
2836 { &hf_x420_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_MessageReference },
2837 { &hf_x420_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
2838 { NULL, 0, 0, 0, NULL }
2842 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_) {
2843 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2844 CrossReference_sequence, hf_index, ett_x420_CrossReference);
2850 static const value_string x420_FileIdentifier_vals[] = {
2851 { 0, "pathname-and-version" },
2852 { 1, "cross-reference" },
2856 static const ber_choice_t FileIdentifier_choice[] = {
2857 { 0, &hf_x420_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_PathnameandVersion },
2858 { 1, &hf_x420_cross_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_CrossReference },
2859 { 0, NULL, 0, 0, 0, NULL }
2863 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_) {
2864 offset = dissect_ber_choice(actx, tree, tvb, offset,
2865 FileIdentifier_choice, hf_index, ett_x420_FileIdentifier,
2872 static const value_string x420_ExplicitRelationship_vals[] = {
2873 { 0, "unspecified" },
2875 { 2, "replacement" },
2882 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_) {
2883 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2890 static const value_string x420_Relationship_vals[] = {
2891 { 0, "explicit-relationship" },
2892 { 1, "descriptive-relationship" },
2896 static const ber_choice_t Relationship_choice[] = {
2897 { 0, &hf_x420_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_ExplicitRelationship },
2898 { 1, &hf_x420_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_GraphicString },
2899 { 0, NULL, 0, 0, 0, NULL }
2903 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_) {
2904 offset = dissect_ber_choice(actx, tree, tvb, offset,
2905 Relationship_choice, hf_index, ett_x420_Relationship,
2912 static const ber_sequence_t RelatedStoredFile_item_sequence[] = {
2913 { &hf_x420_file_identifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_FileIdentifier },
2914 { &hf_x420_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Relationship },
2915 { NULL, 0, 0, 0, NULL }
2919 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_) {
2920 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2921 RelatedStoredFile_item_sequence, hf_index, ett_x420_RelatedStoredFile_item);
2927 static const ber_sequence_t RelatedStoredFile_set_of[1] = {
2928 { &hf_x420_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_RelatedStoredFile_item },
2932 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_) {
2933 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2934 RelatedStoredFile_set_of, hf_index, ett_x420_RelatedStoredFile);
2942 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_) {
2943 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2951 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_) {
2952 #line 269 "x420.cnf"
2953 /* XXX: Not implemented yet */
2961 static const ber_sequence_t T_document_type_sequence[] = {
2962 { &hf_x420_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Document_Type_Name },
2963 { &hf_x420_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_parameter },
2964 { NULL, 0, 0, 0, NULL }
2968 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_) {
2969 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2970 T_document_type_sequence, hf_index, ett_x420_T_document_type);
2978 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_) {
2979 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2987 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_) {
2988 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2994 static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = {
2995 { &hf_x420_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Constraint_Set_Name },
2996 { &hf_x420_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_Abstract_Syntax_Name },
2997 { NULL, 0, 0, 0, NULL }
3001 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_) {
3002 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3003 T_constraint_set_and_abstract_syntax_sequence, hf_index, ett_x420_T_constraint_set_and_abstract_syntax);
3009 static const value_string x420_Contents_Type_Attribute_vals[] = {
3010 { 0, "document-type" },
3011 { 1, "constraint-set-and-abstract-syntax" },
3015 static const ber_choice_t Contents_Type_Attribute_choice[] = {
3016 { 0, &hf_x420_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_document_type },
3017 { 1, &hf_x420_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_constraint_set_and_abstract_syntax },
3018 { 0, NULL, 0, 0, 0, NULL }
3022 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_) {
3023 offset = dissect_ber_choice(actx, tree, tvb, offset,
3024 Contents_Type_Attribute_choice, hf_index, ett_x420_Contents_Type_Attribute,
3033 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_) {
3034 offset = dissect_x420_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index);
3040 static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = {
3041 { &hf_x420_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
3045 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_) {
3046 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3047 T_descriptive_identifier_sequence_of, hf_index, ett_x420_T_descriptive_identifier);
3053 static const value_string x420_GeneralIdentifier_vals[] = {
3054 { 0, "registered-identifier" },
3055 { 1, "descriptive-identifier" },
3059 static const ber_choice_t GeneralIdentifier_choice[] = {
3060 { 0, &hf_x420_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3061 { 1, &hf_x420_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_descriptive_identifier },
3062 { 0, NULL, 0, 0, 0, NULL }
3066 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_) {
3067 offset = dissect_ber_choice(actx, tree, tvb, offset,
3068 GeneralIdentifier_choice, hf_index, ett_x420_GeneralIdentifier,
3075 static const ber_sequence_t T_user_visible_string_sequence_of[1] = {
3076 { &hf_x420_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
3080 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_) {
3081 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3082 T_user_visible_string_sequence_of, hf_index, ett_x420_T_user_visible_string);
3088 static const ber_sequence_t EnvironmentParameter_sequence[] = {
3089 { &hf_x420_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier },
3090 { &hf_x420_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_GeneralIdentifier },
3091 { &hf_x420_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3092 { &hf_x420_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_T_user_visible_string },
3093 { NULL, 0, 0, 0, NULL }
3097 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_) {
3098 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3099 EnvironmentParameter_sequence, hf_index, ett_x420_EnvironmentParameter);
3107 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_) {
3108 #line 272 "x420.cnf"
3109 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
3119 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_) {
3120 #line 275 "x420.cnf"
3121 /* XXX: Not implemented yet */
3129 static const ber_sequence_t CompressionParameter_sequence[] = {
3130 { &hf_x420_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_id },
3131 { &hf_x420_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_param },
3132 { NULL, 0, 0, 0, NULL }
3136 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_) {
3137 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3138 CompressionParameter_sequence, hf_index, ett_x420_CompressionParameter);
3146 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_) {
3147 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3148 actx, tree, tvb, offset, hf_index,
3155 static const value_string x420_Account_Attribute_vals[] = {
3156 { 0, "no-value-available" },
3157 { 1, "actual-values" },
3161 static const ber_choice_t Account_Attribute_choice[] = {
3162 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3163 { 1, &hf_x420_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_Account },
3164 { 0, NULL, 0, 0, 0, NULL }
3168 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_) {
3169 offset = dissect_ber_choice(actx, tree, tvb, offset,
3170 Account_Attribute_choice, hf_index, ett_x420_Account_Attribute,
3179 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_) {
3180 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3181 actx, tree, tvb, offset, hf_index,
3188 static const value_string x420_User_Identity_Attribute_vals[] = {
3189 { 0, "no-value-available" },
3190 { 1, "actual-values" },
3194 static const ber_choice_t User_Identity_Attribute_choice[] = {
3195 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3196 { 1, &hf_x420_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_User_Identity },
3197 { 0, NULL, 0, 0, 0, NULL }
3201 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_) {
3202 offset = dissect_ber_choice(actx, tree, tvb, offset,
3203 User_Identity_Attribute_choice, hf_index, ett_x420_User_Identity_Attribute,
3210 static const asn_namedbit Access_Request_bits[] = {
3211 { 0, &hf_x420_Access_Request_read, -1, -1, "read", NULL },
3212 { 1, &hf_x420_Access_Request_insert, -1, -1, "insert", NULL },
3213 { 2, &hf_x420_Access_Request_replace, -1, -1, "replace", NULL },
3214 { 3, &hf_x420_Access_Request_extend, -1, -1, "extend", NULL },
3215 { 4, &hf_x420_Access_Request_erase, -1, -1, "erase", NULL },
3216 { 5, &hf_x420_Access_Request_read_attribute, -1, -1, "read-attribute", NULL },
3217 { 6, &hf_x420_Access_Request_change_attribute, -1, -1, "change-attribute", NULL },
3218 { 7, &hf_x420_Access_Request_delete_object, -1, -1, "delete-object", NULL },
3219 { 0, NULL, 0, 0, NULL, NULL }
3223 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_) {
3224 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3225 Access_Request_bits, hf_index, ett_x420_Access_Request,
3232 static const value_string x420_Password_vals[] = {
3233 { 0, "graphic-string" },
3234 { 1, "octet-string" },
3238 static const ber_choice_t Password_choice[] = {
3239 { 0, &hf_x420_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_x420_GraphicString },
3240 { 1, &hf_x420_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OCTET_STRING },
3241 { 0, NULL, 0, 0, 0, NULL }
3245 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_) {
3246 offset = dissect_ber_choice(actx, tree, tvb, offset,
3247 Password_choice, hf_index, ett_x420_Password,
3254 static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
3255 { &hf_x420_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3259 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_) {
3260 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3261 Pass_Passwords_sequence_of, hf_index, ett_x420_Pass_Passwords);
3267 static const ber_sequence_t Access_Passwords_sequence[] = {
3268 { &hf_x420_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3269 { &hf_x420_insert_password, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3270 { &hf_x420_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3271 { &hf_x420_extend_password, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3272 { &hf_x420_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3273 { &hf_x420_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3274 { &hf_x420_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3275 { &hf_x420_delete_password, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3276 { &hf_x420_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_Pass_Passwords },
3277 { &hf_x420_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Password },
3278 { NULL, 0, 0, 0, NULL }
3282 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_) {
3283 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3284 Access_Passwords_sequence, hf_index, ett_x420_Access_Passwords);
3290 static const ber_sequence_t Application_Entity_Title_sequence[] = {
3291 { &hf_x420_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title },
3292 { &hf_x420_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier },
3293 { NULL, 0, 0, 0, NULL }
3297 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_) {
3298 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3299 Application_Entity_Title_sequence, hf_index, ett_x420_Application_Entity_Title);
3305 static const ber_sequence_t Access_Control_Element_sequence[] = {
3306 { &hf_x420_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_Access_Request },
3307 { &hf_x420_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
3308 { &hf_x420_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_User_Identity },
3309 { &hf_x420_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Access_Passwords },
3310 { &hf_x420_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_Application_Entity_Title },
3311 { NULL, 0, 0, 0, NULL }
3315 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_) {
3316 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3317 Access_Control_Element_sequence, hf_index, ett_x420_Access_Control_Element);
3323 static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
3324 { &hf_x420_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x420_Access_Control_Element },
3328 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_) {
3329 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3330 SET_OF_Access_Control_Element_set_of, hf_index, ett_x420_SET_OF_Access_Control_Element);
3336 static const value_string x420_Access_Control_Attribute_vals[] = {
3337 { 0, "no-value-available" },
3338 { 1, "actual-values" },
3342 static const ber_choice_t Access_Control_Attribute_choice[] = {
3343 { 0, &hf_x420_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3344 { 1, &hf_x420_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SET_OF_Access_Control_Element },
3345 { 0, NULL, 0, 0, 0, NULL }
3349 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_) {
3350 offset = dissect_ber_choice(actx, tree, tvb, offset,
3351 Access_Control_Attribute_choice, hf_index, ett_x420_Access_Control_Attribute,
3358 static const ber_sequence_t FileAttributes_sequence[] = {
3359 { &hf_x420_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Pathname_Attribute },
3360 { &hf_x420_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
3361 { &hf_x420_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Account_Attribute },
3362 { &hf_x420_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3363 { &hf_x420_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3364 { &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 },
3365 { &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 },
3366 { &hf_x420_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3367 { &hf_x420_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3368 { &hf_x420_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_User_Identity_Attribute },
3369 { &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 },
3370 { &hf_x420_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute },
3371 { &hf_x420_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3372 { &hf_x420_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3373 { &hf_x420_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_Access_Control_Attribute },
3374 { &hf_x420_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute },
3375 { &hf_x420_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute },
3376 { &hf_x420_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
3377 { NULL, 0, 0, 0, NULL }
3381 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_) {
3382 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3383 FileAttributes_sequence, hf_index, ett_x420_FileAttributes);
3389 static const ber_sequence_t FileTransferParameters_sequence[] = {
3390 { &hf_x420_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_RelatedStoredFile },
3391 { &hf_x420_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_ContentsTypeParameter },
3392 { &hf_x420_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_EnvironmentParameter },
3393 { &hf_x420_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_CompressionParameter },
3394 { &hf_x420_file_attributes, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_FileAttributes },
3395 { &hf_x420_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_ExtensionsField },
3396 { NULL, 0, 0, 0, NULL }
3400 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_) {
3401 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3402 FileTransferParameters_sequence, hf_index, ett_x420_FileTransferParameters);
3410 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_) {
3411 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
3417 static const ber_sequence_t FileTransferData_sequence_of[1] = {
3418 { &hf_x420_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_EXTERNAL },
3422 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_) {
3423 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3424 FileTransferData_sequence_of, hf_index, ett_x420_FileTransferData);
3432 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_) {
3433 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
3434 actx, tree, tvb, offset, hf_index,
3441 static const ber_sequence_t VoiceParameters_sequence[] = {
3442 { &hf_x420_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3443 { &hf_x420_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3444 { &hf_x420_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IA5String },
3445 { NULL, 0, 0, 0, NULL }
3449 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_) {
3450 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3451 VoiceParameters_sequence, hf_index, ett_x420_VoiceParameters);
3459 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_) {
3460 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3467 static const ber_sequence_t SubmissionProof_set[] = {
3468 { &hf_x420_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProofOfSubmission },
3469 { &hf_x420_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginatingMTACertificate },
3470 { &hf_x420_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope },
3471 { NULL, 0, 0, 0, NULL }
3475 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_) {
3476 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3477 SubmissionProof_set, hf_index, ett_x420_SubmissionProof);
3483 static const ber_sequence_t ForwardedContentParameters_set[] = {
3484 { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
3485 { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
3486 { &hf_x420_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryIdentifier },
3487 { &hf_x420_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SubmissionProof },
3488 { NULL, 0, 0, 0, NULL }
3492 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_) {
3493 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3494 ForwardedContentParameters_set, hf_index, ett_x420_ForwardedContentParameters);
3500 static const value_string x420_IPMEntryType_vals[] = {
3510 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_) {
3511 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3518 static const ber_sequence_t MessageBodyPartSynopsis_sequence[] = {
3519 { &hf_x420_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3520 { &hf_x420_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPMSynopsis },
3521 { NULL, 0, 0, 0, NULL }
3525 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_) {
3526 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3527 MessageBodyPartSynopsis_sequence, hf_index, ett_x420_MessageBodyPartSynopsis);
3533 static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = {
3534 { &hf_x420_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3535 { &hf_x420_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
3536 { &hf_x420_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3537 { &hf_x420_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
3538 { NULL, 0, 0, 0, NULL }
3542 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_) {
3543 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3544 NonMessageBodyPartSynopsis_sequence, hf_index, ett_x420_NonMessageBodyPartSynopsis);
3550 static const value_string x420_BodyPartSynopsis_vals[] = {
3552 { 1, "non-message" },
3556 static const ber_choice_t BodyPartSynopsis_choice[] = {
3557 { 0, &hf_x420_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPartSynopsis },
3558 { 1, &hf_x420_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_NonMessageBodyPartSynopsis },
3559 { 0, NULL, 0, 0, 0, NULL }
3563 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_) {
3564 offset = dissect_ber_choice(actx, tree, tvb, offset,
3565 BodyPartSynopsis_choice, hf_index, ett_x420_BodyPartSynopsis,
3572 static const ber_sequence_t IPMSynopsis_sequence_of[1] = {
3573 { &hf_x420_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSynopsis },
3577 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_) {
3578 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3579 IPMSynopsis_sequence_of, hf_index, ett_x420_IPMSynopsis);
3585 static const ber_sequence_t BodyPartDescriptor_sequence[] = {
3586 { &hf_x420_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3587 { &hf_x420_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
3588 { &hf_x420_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3589 { &hf_x420_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3590 { &hf_x420_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
3591 { &hf_x420_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
3592 { NULL, 0, 0, 0, NULL }
3596 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_) {
3597 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3598 BodyPartDescriptor_sequence, hf_index, ett_x420_BodyPartDescriptor);
3604 static const ber_sequence_t BodyPartSignatureVerification_item_set[] = {
3605 { &hf_x420_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartNumber },
3606 { &hf_x420_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus },
3607 { NULL, 0, 0, 0, NULL }
3611 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_) {
3612 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3613 BodyPartSignatureVerification_item_set, hf_index, ett_x420_BodyPartSignatureVerification_item);
3619 static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = {
3620 { &hf_x420_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatureVerification_item },
3624 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_) {
3625 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3626 BodyPartSignatureVerification_set_of, hf_index, ett_x420_BodyPartSignatureVerification);
3632 static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = {
3633 { &hf_x420_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3637 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_) {
3638 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3639 SET_OF_SequenceNumber_set_of, hf_index, ett_x420_SET_OF_SequenceNumber);
3645 static const value_string x420_IPMLocation_vals[] = {
3651 static const ber_choice_t IPMLocation_choice[] = {
3652 { 0, &hf_x420_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_SET_OF_SequenceNumber },
3653 { 1, &hf_x420_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL },
3654 { 0, NULL, 0, 0, 0, NULL }
3658 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_) {
3659 offset = dissect_ber_choice(actx, tree, tvb, offset,
3660 IPMLocation_choice, hf_index, ett_x420_IPMLocation,
3667 static const value_string x420_DeliveredReplyStatus_vals[] = {
3668 { 0, "no-reply-requested" },
3669 { 1, "reply-outstanding" },
3670 { 2, "reply-received" },
3676 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_) {
3677 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3684 static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = {
3685 { &hf_x420_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3689 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_) {
3690 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3691 SEQUENCE_OF_SequenceNumber_sequence_of, hf_index, ett_x420_SEQUENCE_OF_SequenceNumber);
3697 static const value_string x420_CorrelatedDeliveredReplies_vals[] = {
3698 { 0, "no-reply-received" },
3699 { 1, "received-replies" },
3703 static const ber_choice_t CorrelatedDeliveredReplies_choice[] = {
3704 { 0, &hf_x420_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3705 { 1, &hf_x420_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
3706 { 0, NULL, 0, 0, 0, NULL }
3710 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_) {
3711 offset = dissect_ber_choice(actx, tree, tvb, offset,
3712 CorrelatedDeliveredReplies_choice, hf_index, ett_x420_CorrelatedDeliveredReplies,
3719 static const value_string x420_DeliveredIPNStatus_vals[] = {
3720 { 0, "no-ipn-requested" },
3721 { 3, "an-requested" },
3722 { 5, "nrn-requested" },
3723 { 10, "rn-requested" },
3724 { 13, "an-received" },
3725 { 15, "ipm-auto-forwarded" },
3726 { 20, "ipm-discarded" },
3727 { 25, "rn-received" },
3733 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_) {
3734 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3741 static const value_string x420_CorrelatedDeliveredIPNs_vals[] = {
3742 { 0, "no-ipn-received" },
3743 { 1, "ipns-received" },
3747 static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = {
3748 { 0, &hf_x420_no_ipn_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
3749 { 1, &hf_x420_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
3750 { 0, NULL, 0, 0, 0, NULL }
3754 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_) {
3755 offset = dissect_ber_choice(actx, tree, tvb, offset,
3756 CorrelatedDeliveredIPNs_choice, hf_index, ett_x420_CorrelatedDeliveredIPNs,
3763 static const value_string x420_SubmittedReplyStatus_vals[] = {
3764 { 0, "no-reply-requested" },
3765 { 1, "no-reply-intended" },
3766 { 2, "reply-pending" },
3767 { 3, "reply-sent" },
3773 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_) {
3774 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3781 static const value_string x420_SubmittedIPNStatus_vals[] = {
3782 { 0, "no-ipn-requested" },
3783 { 5, "nrn-requested" },
3784 { 10, "nrn-with-ipm-return-requested" },
3785 { 15, "rn-requested" },
3786 { 20, "rn-with-ipm-return-requested" },
3787 { 25, "ipm-auto-forwarded" },
3788 { 30, "ipm-discarded" },
3795 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_) {
3796 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3803 static const value_string x420_RecipientCategory_vals[] = {
3804 { 0, "primary-recipient" },
3805 { 1, "copy-recipient" },
3806 { 2, "blind-copy-recipient" },
3807 { 3, "category-unknown" },
3808 { 4, "circulation-list" },
3814 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_) {
3815 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3822 static const asn_namedbit RecipientSecurityRequest_bits[] = {
3823 { 0, &hf_x420_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL },
3824 { 1, &hf_x420_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL },
3825 { 2, &hf_x420_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL },
3826 { 3, &hf_x420_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL },
3827 { 0, NULL, 0, 0, NULL, NULL }
3831 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_) {
3832 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3833 RecipientSecurityRequest_bits, hf_index, ett_x420_RecipientSecurityRequest,
3842 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_) {
3843 offset = dissect_x411_Content(implicit_tag, tvb, offset, actx, tree, hf_index);
3851 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_) {
3852 offset = dissect_x411_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3860 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_) {
3861 offset = dissect_x411_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3869 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_) {
3870 offset = dissect_x411_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index);
3876 static const ber_sequence_t T_original_security_arguments_set[] = {
3877 { &hf_x420_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalContentIntegrityCheck },
3878 { &hf_x420_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageOriginAuthenticationCheck },
3879 { &hf_x420_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageToken },
3880 { NULL, 0, 0, 0, NULL }
3884 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_) {
3885 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3886 T_original_security_arguments_set, hf_index, ett_x420_T_original_security_arguments);
3892 static const value_string x420_T_content_or_arguments_vals[] = {
3893 { 0, "original-content" },
3894 { 1, "original-security-arguments" },
3898 static const ber_choice_t T_content_or_arguments_choice[] = {
3899 { 0, &hf_x420_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OriginalContent },
3900 { 1, &hf_x420_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_T_original_security_arguments },
3901 { 0, NULL, 0, 0, 0, NULL }
3905 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_) {
3906 offset = dissect_ber_choice(actx, tree, tvb, offset,
3907 T_content_or_arguments_choice, hf_index, ett_x420_T_content_or_arguments,
3914 static const value_string x420_SecurityDiagnosticCode_vals[] = {
3915 { 0, "integrity-failure-on-subject-message" },
3916 { 1, "integrity-failure-on-forwarded-message" },
3917 { 2, "moac-failure-on-subject-message" },
3918 { 3, "unsupported-security-policy" },
3919 { 4, "unsupported-algorithm-identifier" },
3920 { 5, "decryption-failed" },
3921 { 6, "token-error" },
3922 { 7, "unable-to-sign-notification" },
3923 { 8, "unable-to-sign-message-receipt" },
3924 { 9, "authentication-failure-on-subject-message" },
3925 { 10, "security-context-failure-message" },
3926 { 11, "message-sequence-failure" },
3927 { 12, "message-security-labelling-failure" },
3928 { 13, "repudiation-failure-of-message" },
3929 { 14, "failure-of-proof-of-message" },
3930 { 15, "signature-key-unobtainable" },
3931 { 16, "decryption-key-unobtainable" },
3932 { 17, "key-failure" },
3933 { 18, "unsupported-request-for-security-service" },
3934 { 19, "inconsistent-request-for-security-service" },
3935 { 20, "ipn-non-repudiation-provided-instead-of-content-proof" },
3936 { 21, "token-decryption-failed" },
3937 { 22, "double-enveloping-message-restoring-failure" },
3938 { 23, "unauthorised-dl-member" },
3939 { 24, "reception-security-failure" },
3940 { 25, "unsuitable-alternate-recipient" },
3941 { 26, "security-services-refusal" },
3942 { 27, "unauthorised-recipient" },
3943 { 28, "unknown-certification-authority-name" },
3944 { 29, "unknown-dl-name" },
3945 { 30, "unknown-originator-name" },
3946 { 31, "unknown-recipient-name" },
3947 { 32, "security-policy-violation" },
3953 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_) {
3954 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3961 static const ber_sequence_t IpnSecurityResponse_set[] = {
3962 { &hf_x420_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_content_or_arguments },
3963 { &hf_x420_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_SecurityDiagnosticCode },
3964 { NULL, 0, 0, 0, NULL }
3968 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_) {
3969 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3970 IpnSecurityResponse_set, hf_index, ett_x420_IpnSecurityResponse);
3976 static const ber_sequence_t EncryptionToken_set[] = {
3977 { &hf_x420_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3978 { &hf_x420_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
3979 { &hf_x420_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3980 { &hf_x420_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
3981 { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3982 { &hf_x420_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates },
3983 { NULL, 0, 0, 0, NULL }
3987 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_) {
3988 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3989 EncryptionToken_set, hf_index, ett_x420_EncryptionToken);
3995 static const value_string x420_T_body_part_choice_vals[] = {
3996 { 0, "encryption-token" },
3997 { 1, "message-or-content-body-part" },
4001 static const ber_choice_t T_body_part_choice_choice[] = {
4002 { 0, &hf_x420_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptionToken },
4003 { 1, &hf_x420_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartTokens },
4004 { 0, NULL, 0, 0, 0, NULL }
4008 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_) {
4009 offset = dissect_ber_choice(actx, tree, tvb, offset,
4010 T_body_part_choice_choice, hf_index, ett_x420_T_body_part_choice,
4017 static const ber_sequence_t BodyPartTokens_item_set[] = {
4018 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
4019 { &hf_x420_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_choice },
4020 { NULL, 0, 0, 0, NULL }
4024 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_) {
4025 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4026 BodyPartTokens_item_set, hf_index, ett_x420_BodyPartTokens_item);
4032 static const ber_sequence_t BodyPartTokens_set_of[1] = {
4033 { &hf_x420_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartTokens_item },
4037 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_) {
4038 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4039 BodyPartTokens_set_of, hf_index, ett_x420_BodyPartTokens);
4045 static const value_string x420_T_body_part_token_choice_vals[] = {
4046 { 0, "forwarding-token" },
4047 { 1, "message-or-content-body-part" },
4051 static const ber_choice_t T_body_part_token_choice_choice[] = {
4052 { 0, &hf_x420_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_MessageToken },
4053 { 1, &hf_x420_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken },
4054 { 0, NULL, 0, 0, 0, NULL }
4058 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_) {
4059 offset = dissect_ber_choice(actx, tree, tvb, offset,
4060 T_body_part_token_choice_choice, hf_index, ett_x420_T_body_part_token_choice,
4067 static const ber_sequence_t ForwardedContentToken_item_set[] = {
4068 { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
4069 { &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 },
4070 { NULL, 0, 0, 0, NULL }
4074 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_) {
4075 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4076 ForwardedContentToken_item_set, hf_index, ett_x420_ForwardedContentToken_item);
4082 static const ber_sequence_t ForwardedContentToken_set_of[1] = {
4083 { &hf_x420_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken_item },
4087 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_) {
4088 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4089 ForwardedContentToken_set_of, hf_index, ett_x420_ForwardedContentToken);
4096 static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4097 asn1_ctx_t asn1_ctx;
4098 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4099 dissect_x420_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationObject_PDU);
4101 static void dissect_Heading_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4102 asn1_ctx_t asn1_ctx;
4103 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4104 dissect_x420_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Heading_PDU);
4106 static void dissect_ORDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4107 asn1_ctx_t asn1_ctx;
4108 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4109 dissect_x420_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ORDescriptor_PDU);
4111 static void dissect_ThisIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4112 asn1_ctx_t asn1_ctx;
4113 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4114 dissect_x420_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ThisIPMField_PDU);
4116 static void dissect_OriginatorField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4117 asn1_ctx_t asn1_ctx;
4118 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4119 dissect_x420_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorField_PDU);
4121 static void dissect_AuthorizingUsersSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4122 asn1_ctx_t asn1_ctx;
4123 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4124 dissect_x420_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizingUsersSubfield_PDU);
4126 static void dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4127 asn1_ctx_t asn1_ctx;
4128 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4129 dissect_x420_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrimaryRecipientsSubfield_PDU);
4131 static void dissect_CopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4132 asn1_ctx_t asn1_ctx;
4133 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4134 dissect_x420_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CopyRecipientsSubfield_PDU);
4136 static void dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4137 asn1_ctx_t asn1_ctx;
4138 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4139 dissect_x420_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BlindCopyRecipientsSubfield_PDU);
4141 static void dissect_RepliedToIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4142 asn1_ctx_t asn1_ctx;
4143 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4144 dissect_x420_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RepliedToIPMField_PDU);
4146 static void dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4147 asn1_ctx_t asn1_ctx;
4148 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4149 dissect_x420_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ObsoletedIPMsSubfield_PDU);
4151 static void dissect_RelatedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4152 asn1_ctx_t asn1_ctx;
4153 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4154 dissect_x420_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RelatedIPMsSubfield_PDU);
4156 static void dissect_SubjectField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4157 asn1_ctx_t asn1_ctx;
4158 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4159 dissect_x420_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubjectField_PDU);
4161 static void dissect_ExpiryTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4162 asn1_ctx_t asn1_ctx;
4163 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4164 dissect_x420_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExpiryTimeField_PDU);
4166 static void dissect_ReplyTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4167 asn1_ctx_t asn1_ctx;
4168 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4169 dissect_x420_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyTimeField_PDU);
4171 static void dissect_ReplyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4172 asn1_ctx_t asn1_ctx;
4173 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4174 dissect_x420_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyRecipientsSubfield_PDU);
4176 static void dissect_ImportanceField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4177 asn1_ctx_t asn1_ctx;
4178 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4179 dissect_x420_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ImportanceField_PDU);
4181 static void dissect_SensitivityField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4182 asn1_ctx_t asn1_ctx;
4183 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4184 dissect_x420_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SensitivityField_PDU);
4186 static void dissect_AutoForwardedField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4187 asn1_ctx_t asn1_ctx;
4188 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4189 dissect_x420_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoForwardedField_PDU);
4191 static void dissect_Body_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4192 asn1_ctx_t asn1_ctx;
4193 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4194 dissect_x420_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Body_PDU);
4196 static void dissect_IA5TextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4197 asn1_ctx_t asn1_ctx;
4198 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4199 dissect_x420_IA5TextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextParameters_PDU);
4201 static void dissect_IA5TextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4202 asn1_ctx_t asn1_ctx;
4203 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4204 dissect_x420_IA5TextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IA5TextData_PDU);
4206 static void dissect_G3FacsimileParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4207 asn1_ctx_t asn1_ctx;
4208 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4209 dissect_x420_G3FacsimileParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileParameters_PDU);
4211 static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4212 asn1_ctx_t asn1_ctx;
4213 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4214 dissect_x420_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileData_PDU);
4216 static void dissect_G4Class1BodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4217 asn1_ctx_t asn1_ctx;
4218 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4219 dissect_x420_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G4Class1BodyPart_PDU);
4221 static void dissect_MixedModeBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4222 asn1_ctx_t asn1_ctx;
4223 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4224 dissect_x420_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MixedModeBodyPart_PDU);
4226 static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4227 asn1_ctx_t asn1_ctx;
4228 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4229 dissect_x420_TeletexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexParameters_PDU);
4231 static void dissect_TeletexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4232 asn1_ctx_t asn1_ctx;
4233 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4234 dissect_x420_TeletexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_TeletexData_PDU);
4236 static void dissect_VideotexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4237 asn1_ctx_t asn1_ctx;
4238 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4239 dissect_x420_VideotexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexParameters_PDU);
4241 static void dissect_VideotexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4242 asn1_ctx_t asn1_ctx;
4243 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4244 dissect_x420_VideotexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VideotexData_PDU);
4246 static void dissect_EncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4247 asn1_ctx_t asn1_ctx;
4248 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4249 dissect_x420_EncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedParameters_PDU);
4251 static void dissect_EncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4252 asn1_ctx_t asn1_ctx;
4253 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4254 dissect_x420_EncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_EncryptedData_PDU);
4256 static void dissect_MessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4257 asn1_ctx_t asn1_ctx;
4258 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4259 dissect_x420_MessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageParameters_PDU);
4261 static void dissect_MessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4262 asn1_ctx_t asn1_ctx;
4263 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4264 dissect_x420_MessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MessageData_PDU);
4266 static void dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4267 asn1_ctx_t asn1_ctx;
4268 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4269 dissect_x420_BilaterallyDefinedBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BilaterallyDefinedBodyPart_PDU);
4271 static void dissect_IPN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4272 asn1_ctx_t asn1_ctx;
4273 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4274 dissect_x420_IPN(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPN_PDU);
4276 static void dissect_AbsenceAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4277 asn1_ctx_t asn1_ctx;
4278 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4279 dissect_x420_AbsenceAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AbsenceAdvice_PDU);
4281 static void dissect_ChangeOfAddressAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4282 asn1_ctx_t asn1_ctx;
4283 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4284 dissect_x420_ChangeOfAddressAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ChangeOfAddressAdvice_PDU);
4286 static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4287 asn1_ctx_t asn1_ctx;
4288 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4289 dissect_x420_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMAssemblyInstructions_PDU);
4291 static void dissect_IncompleteCopy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4292 asn1_ctx_t asn1_ctx;
4293 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4294 dissect_x420_IncompleteCopy(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IncompleteCopy_PDU);
4296 static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4297 asn1_ctx_t asn1_ctx;
4298 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4299 dissect_x420_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Languages_PDU);
4301 static void dissect_Language_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4302 asn1_ctx_t asn1_ctx;
4303 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4304 dissect_x420_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Language_PDU);
4306 static void dissect_AutoSubmitted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4307 asn1_ctx_t asn1_ctx;
4308 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4309 dissect_x420_AutoSubmitted(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoSubmitted_PDU);
4311 static void dissect_BodyPartSignatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4312 asn1_ctx_t asn1_ctx;
4313 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4314 dissect_x420_BodyPartSignatures(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatures_PDU);
4316 static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4317 asn1_ctx_t asn1_ctx;
4318 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4319 dissect_x420_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSecurityLabel_PDU);
4321 static void dissect_BodyPartSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4322 asn1_ctx_t asn1_ctx;
4323 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4324 dissect_x420_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSecurityLabel_PDU);
4326 static void dissect_AuthorizationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4327 asn1_ctx_t asn1_ctx;
4328 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4329 dissect_x420_AuthorizationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizationTime_PDU);
4331 static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4332 asn1_ctx_t asn1_ctx;
4333 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4334 dissect_x420_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationList_PDU);
4336 static void dissect_CirculationMember_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4337 asn1_ctx_t asn1_ctx;
4338 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4339 dissect_x420_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationMember_PDU);
4341 static void dissect_CirculationListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4342 asn1_ctx_t asn1_ctx;
4343 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4344 dissect_x420_CirculationListIndicator(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationListIndicator_PDU);
4346 static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4347 asn1_ctx_t asn1_ctx;
4348 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4349 dissect_x420_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCodes_PDU);
4351 static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4352 asn1_ctx_t asn1_ctx;
4353 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4354 dissect_x420_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCode_PDU);
4356 static void dissect_ExtendedSubject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4357 asn1_ctx_t asn1_ctx;
4358 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4359 dissect_x420_ExtendedSubject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExtendedSubject_PDU);
4361 static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4362 asn1_ctx_t asn1_ctx;
4363 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4364 dissect_x420_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategories_PDU);
4366 static void dissect_InformationCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4367 asn1_ctx_t asn1_ctx;
4368 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4369 dissect_x420_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategory_PDU);
4371 static void dissect_ManualHandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4372 asn1_ctx_t asn1_ctx;
4373 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4374 dissect_x420_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstructions_PDU);
4376 static void dissect_ManualHandlingInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4377 asn1_ctx_t asn1_ctx;
4378 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4379 dissect_x420_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstruction_PDU);
4381 static void dissect_OriginatorsReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4382 asn1_ctx_t asn1_ctx;
4383 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4384 dissect_x420_OriginatorsReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorsReference_PDU);
4386 static void dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4387 asn1_ctx_t asn1_ctx;
4388 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4389 dissect_x420_PrecedencePolicyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrecedencePolicyIdentifier_PDU);
4391 static void dissect_Precedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4392 asn1_ctx_t asn1_ctx;
4393 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4394 dissect_x420_Precedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Precedence_PDU);
4396 static void dissect_GeneralTextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4397 asn1_ctx_t asn1_ctx;
4398 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4399 dissect_x420_GeneralTextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextParameters_PDU);
4401 static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4402 asn1_ctx_t asn1_ctx;
4403 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4404 dissect_x420_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextData_PDU);
4406 static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4407 asn1_ctx_t asn1_ctx;
4408 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4409 dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU);
4411 static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4412 asn1_ctx_t asn1_ctx;
4413 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4414 dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU);
4416 static void dissect_VoiceParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4417 asn1_ctx_t asn1_ctx;
4418 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4419 dissect_x420_VoiceParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceParameters_PDU);
4421 static void dissect_VoiceData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4422 asn1_ctx_t asn1_ctx;
4423 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4424 dissect_x420_VoiceData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_VoiceData_PDU);
4426 static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4427 asn1_ctx_t asn1_ctx;
4428 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4429 dissect_x420_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentParameters_PDU);
4431 static void dissect_IPMEntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4432 asn1_ctx_t asn1_ctx;
4433 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4434 dissect_x420_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMEntryType_PDU);
4436 static void dissect_IPMSynopsis_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4437 asn1_ctx_t asn1_ctx;
4438 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4439 dissect_x420_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSynopsis_PDU);
4441 static void dissect_BodyPartDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4442 asn1_ctx_t asn1_ctx;
4443 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4444 dissect_x420_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartDescriptor_PDU);
4446 static void dissect_BodyPartSignatureVerification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4447 asn1_ctx_t asn1_ctx;
4448 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4449 dissect_x420_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatureVerification_PDU);
4451 static void dissect_IPMLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4452 asn1_ctx_t asn1_ctx;
4453 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4454 dissect_x420_IPMLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMLocation_PDU);
4456 static void dissect_DeliveredReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4457 asn1_ctx_t asn1_ctx;
4458 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4459 dissect_x420_DeliveredReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredReplyStatus_PDU);
4461 static void dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4462 asn1_ctx_t asn1_ctx;
4463 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4464 dissect_x420_CorrelatedDeliveredReplies(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredReplies_PDU);
4466 static void dissect_DeliveredIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4467 asn1_ctx_t asn1_ctx;
4468 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4469 dissect_x420_DeliveredIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DeliveredIPNStatus_PDU);
4471 static void dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4472 asn1_ctx_t asn1_ctx;
4473 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4474 dissect_x420_CorrelatedDeliveredIPNs(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CorrelatedDeliveredIPNs_PDU);
4476 static void dissect_SubmittedReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4477 asn1_ctx_t asn1_ctx;
4478 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4479 dissect_x420_SubmittedReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedReplyStatus_PDU);
4481 static void dissect_SubmittedIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4482 asn1_ctx_t asn1_ctx;
4483 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4484 dissect_x420_SubmittedIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubmittedIPNStatus_PDU);
4486 static void dissect_RecipientCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4487 asn1_ctx_t asn1_ctx;
4488 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4489 dissect_x420_RecipientCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientCategory_PDU);
4491 static void dissect_RecipientSecurityRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4492 asn1_ctx_t asn1_ctx;
4493 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4494 dissect_x420_RecipientSecurityRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RecipientSecurityRequest_PDU);
4496 static void dissect_IpnSecurityResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4497 asn1_ctx_t asn1_ctx;
4498 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4499 dissect_x420_IpnSecurityResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IpnSecurityResponse_PDU);
4501 static void dissect_BodyPartTokens_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4502 asn1_ctx_t asn1_ctx;
4503 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4504 dissect_x420_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartTokens_PDU);
4506 static void dissect_ForwardedContentToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4507 asn1_ctx_t asn1_ctx;
4508 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4509 dissect_x420_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentToken_PDU);
4513 /*--- End of included file: packet-x420-fn.c ---*/
4514 #line 94 "packet-x420-template.c"
4517 * Dissect X420 PDUs inside a PPDU.
4520 dissect_x420(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4523 proto_item *item=NULL;
4524 proto_tree *tree=NULL;
4525 asn1_ctx_t asn1_ctx;
4526 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4529 item = proto_tree_add_item(parent_tree, proto_x420, tvb, 0, -1, FALSE);
4530 tree = proto_item_add_subtree(item, ett_x420);
4533 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22");
4534 col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal");
4536 dissect_x420_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
4540 /*--- proto_register_x420 -------------------------------------------*/
4541 void proto_register_x420(void) {
4543 /* List of fields */
4544 static hf_register_info hf[] =
4547 /*--- Included file: packet-x420-hfarr.c ---*/
4548 #line 1 "packet-x420-hfarr.c"
4549 { &hf_x420_InformationObject_PDU,
4550 { "InformationObject", "x420.InformationObject",
4551 FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0,
4553 { &hf_x420_Heading_PDU,
4554 { "Heading", "x420.Heading",
4555 FT_NONE, BASE_NONE, NULL, 0,
4557 { &hf_x420_ORDescriptor_PDU,
4558 { "ORDescriptor", "x420.ORDescriptor",
4559 FT_NONE, BASE_NONE, NULL, 0,
4561 { &hf_x420_ThisIPMField_PDU,
4562 { "ThisIPMField", "x420.ThisIPMField",
4563 FT_NONE, BASE_NONE, NULL, 0,
4565 { &hf_x420_OriginatorField_PDU,
4566 { "OriginatorField", "x420.OriginatorField",
4567 FT_NONE, BASE_NONE, NULL, 0,
4569 { &hf_x420_AuthorizingUsersSubfield_PDU,
4570 { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield",
4571 FT_NONE, BASE_NONE, NULL, 0,
4573 { &hf_x420_PrimaryRecipientsSubfield_PDU,
4574 { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield",
4575 FT_NONE, BASE_NONE, NULL, 0,
4577 { &hf_x420_CopyRecipientsSubfield_PDU,
4578 { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield",
4579 FT_NONE, BASE_NONE, NULL, 0,
4581 { &hf_x420_BlindCopyRecipientsSubfield_PDU,
4582 { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield",
4583 FT_NONE, BASE_NONE, NULL, 0,
4585 { &hf_x420_RepliedToIPMField_PDU,
4586 { "RepliedToIPMField", "x420.RepliedToIPMField",
4587 FT_NONE, BASE_NONE, NULL, 0,
4589 { &hf_x420_ObsoletedIPMsSubfield_PDU,
4590 { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield",
4591 FT_NONE, BASE_NONE, NULL, 0,
4593 { &hf_x420_RelatedIPMsSubfield_PDU,
4594 { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield",
4595 FT_NONE, BASE_NONE, NULL, 0,
4597 { &hf_x420_SubjectField_PDU,
4598 { "SubjectField", "x420.SubjectField",
4599 FT_STRING, BASE_NONE, NULL, 0,
4601 { &hf_x420_ExpiryTimeField_PDU,
4602 { "ExpiryTimeField", "x420.ExpiryTimeField",
4603 FT_STRING, BASE_NONE, NULL, 0,
4605 { &hf_x420_ReplyTimeField_PDU,
4606 { "ReplyTimeField", "x420.ReplyTimeField",
4607 FT_STRING, BASE_NONE, NULL, 0,
4609 { &hf_x420_ReplyRecipientsSubfield_PDU,
4610 { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield",
4611 FT_NONE, BASE_NONE, NULL, 0,
4613 { &hf_x420_ImportanceField_PDU,
4614 { "ImportanceField", "x420.ImportanceField",
4615 FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0,
4617 { &hf_x420_SensitivityField_PDU,
4618 { "SensitivityField", "x420.SensitivityField",
4619 FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0,
4621 { &hf_x420_AutoForwardedField_PDU,
4622 { "AutoForwardedField", "x420.AutoForwardedField",
4623 FT_BOOLEAN, BASE_NONE, NULL, 0,
4625 { &hf_x420_Body_PDU,
4626 { "Body", "x420.Body",
4627 FT_UINT32, BASE_DEC, NULL, 0,
4629 { &hf_x420_IA5TextParameters_PDU,
4630 { "IA5TextParameters", "x420.IA5TextParameters",
4631 FT_NONE, BASE_NONE, NULL, 0,
4633 { &hf_x420_IA5TextData_PDU,
4634 { "IA5TextData", "x420.IA5TextData",
4635 FT_STRING, BASE_NONE, NULL, 0,
4637 { &hf_x420_G3FacsimileParameters_PDU,
4638 { "G3FacsimileParameters", "x420.G3FacsimileParameters",
4639 FT_NONE, BASE_NONE, NULL, 0,
4641 { &hf_x420_G3FacsimileData_PDU,
4642 { "G3FacsimileData", "x420.G3FacsimileData",
4643 FT_UINT32, BASE_DEC, NULL, 0,
4645 { &hf_x420_G4Class1BodyPart_PDU,
4646 { "G4Class1BodyPart", "x420.G4Class1BodyPart",
4647 FT_UINT32, BASE_DEC, NULL, 0,
4649 { &hf_x420_MixedModeBodyPart_PDU,
4650 { "MixedModeBodyPart", "x420.MixedModeBodyPart",
4651 FT_UINT32, BASE_DEC, NULL, 0,
4653 { &hf_x420_TeletexParameters_PDU,
4654 { "TeletexParameters", "x420.TeletexParameters",
4655 FT_NONE, BASE_NONE, NULL, 0,
4657 { &hf_x420_TeletexData_PDU,
4658 { "TeletexData", "x420.TeletexData",
4659 FT_UINT32, BASE_DEC, NULL, 0,
4661 { &hf_x420_VideotexParameters_PDU,
4662 { "VideotexParameters", "x420.VideotexParameters",
4663 FT_NONE, BASE_NONE, NULL, 0,
4665 { &hf_x420_VideotexData_PDU,
4666 { "VideotexData", "x420.VideotexData",
4667 FT_STRING, BASE_NONE, NULL, 0,
4669 { &hf_x420_EncryptedParameters_PDU,
4670 { "EncryptedParameters", "x420.EncryptedParameters",
4671 FT_NONE, BASE_NONE, NULL, 0,
4673 { &hf_x420_EncryptedData_PDU,
4674 { "EncryptedData", "x420.EncryptedData",
4675 FT_BYTES, BASE_NONE, NULL, 0,
4677 { &hf_x420_MessageParameters_PDU,
4678 { "MessageParameters", "x420.MessageParameters",
4679 FT_NONE, BASE_NONE, NULL, 0,
4681 { &hf_x420_MessageData_PDU,
4682 { "MessageData", "x420.MessageData",
4683 FT_NONE, BASE_NONE, NULL, 0,
4685 { &hf_x420_BilaterallyDefinedBodyPart_PDU,
4686 { "BilaterallyDefinedBodyPart", "x420.BilaterallyDefinedBodyPart",
4687 FT_BYTES, BASE_NONE, NULL, 0,
4690 { "IPN", "x420.IPN",
4691 FT_NONE, BASE_NONE, NULL, 0,
4693 { &hf_x420_AbsenceAdvice_PDU,
4694 { "AbsenceAdvice", "x420.AbsenceAdvice",
4695 FT_NONE, BASE_NONE, NULL, 0,
4697 { &hf_x420_ChangeOfAddressAdvice_PDU,
4698 { "ChangeOfAddressAdvice", "x420.ChangeOfAddressAdvice",
4699 FT_NONE, BASE_NONE, NULL, 0,
4701 { &hf_x420_IPMAssemblyInstructions_PDU,
4702 { "IPMAssemblyInstructions", "x420.IPMAssemblyInstructions",
4703 FT_NONE, BASE_NONE, NULL, 0,
4705 { &hf_x420_IncompleteCopy_PDU,
4706 { "IncompleteCopy", "x420.IncompleteCopy",
4707 FT_NONE, BASE_NONE, NULL, 0,
4709 { &hf_x420_Languages_PDU,
4710 { "Languages", "x420.Languages",
4711 FT_UINT32, BASE_DEC, NULL, 0,
4713 { &hf_x420_Language_PDU,
4714 { "Language", "x420.Language",
4715 FT_STRING, BASE_NONE, NULL, 0,
4717 { &hf_x420_AutoSubmitted_PDU,
4718 { "AutoSubmitted", "x420.AutoSubmitted",
4719 FT_UINT32, BASE_DEC, VALS(x420_AutoSubmitted_vals), 0,
4721 { &hf_x420_BodyPartSignatures_PDU,
4722 { "BodyPartSignatures", "x420.BodyPartSignatures",
4723 FT_UINT32, BASE_DEC, NULL, 0,
4725 { &hf_x420_IPMSecurityLabel_PDU,
4726 { "IPMSecurityLabel", "x420.IPMSecurityLabel",
4727 FT_NONE, BASE_NONE, NULL, 0,
4729 { &hf_x420_BodyPartSecurityLabel_PDU,
4730 { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel",
4731 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0,
4733 { &hf_x420_AuthorizationTime_PDU,
4734 { "AuthorizationTime", "x420.AuthorizationTime",
4735 FT_STRING, BASE_NONE, NULL, 0,
4737 { &hf_x420_CirculationList_PDU,
4738 { "CirculationList", "x420.CirculationList",
4739 FT_UINT32, BASE_DEC, NULL, 0,
4741 { &hf_x420_CirculationMember_PDU,
4742 { "CirculationMember", "x420.CirculationMember",
4743 FT_NONE, BASE_NONE, NULL, 0,
4745 { &hf_x420_CirculationListIndicator_PDU,
4746 { "CirculationListIndicator", "x420.CirculationListIndicator",
4747 FT_NONE, BASE_NONE, NULL, 0,
4749 { &hf_x420_DistributionCodes_PDU,
4750 { "DistributionCodes", "x420.DistributionCodes",
4751 FT_UINT32, BASE_DEC, NULL, 0,
4753 { &hf_x420_DistributionCode_PDU,
4754 { "DistributionCode", "x420.DistributionCode",
4755 FT_NONE, BASE_NONE, NULL, 0,
4757 { &hf_x420_ExtendedSubject_PDU,
4758 { "ExtendedSubject", "x420.ExtendedSubject",
4759 FT_NONE, BASE_NONE, NULL, 0,
4761 { &hf_x420_InformationCategories_PDU,
4762 { "InformationCategories", "x420.InformationCategories",
4763 FT_UINT32, BASE_DEC, NULL, 0,
4765 { &hf_x420_InformationCategory_PDU,
4766 { "InformationCategory", "x420.InformationCategory",
4767 FT_NONE, BASE_NONE, NULL, 0,
4769 { &hf_x420_ManualHandlingInstructions_PDU,
4770 { "ManualHandlingInstructions", "x420.ManualHandlingInstructions",
4771 FT_UINT32, BASE_DEC, NULL, 0,
4773 { &hf_x420_ManualHandlingInstruction_PDU,
4774 { "ManualHandlingInstruction", "x420.ManualHandlingInstruction",
4775 FT_NONE, BASE_NONE, NULL, 0,
4777 { &hf_x420_OriginatorsReference_PDU,
4778 { "OriginatorsReference", "x420.OriginatorsReference",
4779 FT_NONE, BASE_NONE, NULL, 0,
4781 { &hf_x420_PrecedencePolicyIdentifier_PDU,
4782 { "PrecedencePolicyIdentifier", "x420.PrecedencePolicyIdentifier",
4783 FT_OID, BASE_NONE, NULL, 0,
4785 { &hf_x420_Precedence_PDU,
4786 { "Precedence", "x420.Precedence",
4787 FT_UINT32, BASE_DEC, NULL, 0,
4789 { &hf_x420_GeneralTextParameters_PDU,
4790 { "GeneralTextParameters", "x420.GeneralTextParameters",
4791 FT_UINT32, BASE_DEC, NULL, 0,
4793 { &hf_x420_GeneralTextData_PDU,
4794 { "GeneralTextData", "x420.GeneralTextData",
4795 FT_STRING, BASE_NONE, NULL, 0,
4797 { &hf_x420_FileTransferParameters_PDU,
4798 { "FileTransferParameters", "x420.FileTransferParameters",
4799 FT_NONE, BASE_NONE, NULL, 0,
4801 { &hf_x420_FileTransferData_PDU,
4802 { "FileTransferData", "x420.FileTransferData",
4803 FT_UINT32, BASE_DEC, NULL, 0,
4805 { &hf_x420_VoiceParameters_PDU,
4806 { "VoiceParameters", "x420.VoiceParameters",
4807 FT_NONE, BASE_NONE, NULL, 0,
4809 { &hf_x420_VoiceData_PDU,
4810 { "VoiceData", "x420.VoiceData",
4811 FT_BYTES, BASE_NONE, NULL, 0,
4813 { &hf_x420_ForwardedContentParameters_PDU,
4814 { "ForwardedContentParameters", "x420.ForwardedContentParameters",
4815 FT_NONE, BASE_NONE, NULL, 0,
4817 { &hf_x420_IPMEntryType_PDU,
4818 { "IPMEntryType", "x420.IPMEntryType",
4819 FT_UINT32, BASE_DEC, VALS(x420_IPMEntryType_vals), 0,
4821 { &hf_x420_IPMSynopsis_PDU,
4822 { "IPMSynopsis", "x420.IPMSynopsis",
4823 FT_UINT32, BASE_DEC, NULL, 0,
4825 { &hf_x420_BodyPartDescriptor_PDU,
4826 { "BodyPartDescriptor", "x420.BodyPartDescriptor",
4827 FT_NONE, BASE_NONE, NULL, 0,
4829 { &hf_x420_BodyPartSignatureVerification_PDU,
4830 { "BodyPartSignatureVerification", "x420.BodyPartSignatureVerification",
4831 FT_UINT32, BASE_DEC, NULL, 0,
4833 { &hf_x420_IPMLocation_PDU,
4834 { "IPMLocation", "x420.IPMLocation",
4835 FT_UINT32, BASE_DEC, VALS(x420_IPMLocation_vals), 0,
4837 { &hf_x420_DeliveredReplyStatus_PDU,
4838 { "DeliveredReplyStatus", "x420.DeliveredReplyStatus",
4839 FT_INT32, BASE_DEC, VALS(x420_DeliveredReplyStatus_vals), 0,
4841 { &hf_x420_CorrelatedDeliveredReplies_PDU,
4842 { "CorrelatedDeliveredReplies", "x420.CorrelatedDeliveredReplies",
4843 FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredReplies_vals), 0,
4845 { &hf_x420_DeliveredIPNStatus_PDU,
4846 { "DeliveredIPNStatus", "x420.DeliveredIPNStatus",
4847 FT_INT32, BASE_DEC, VALS(x420_DeliveredIPNStatus_vals), 0,
4849 { &hf_x420_CorrelatedDeliveredIPNs_PDU,
4850 { "CorrelatedDeliveredIPNs", "x420.CorrelatedDeliveredIPNs",
4851 FT_UINT32, BASE_DEC, VALS(x420_CorrelatedDeliveredIPNs_vals), 0,
4853 { &hf_x420_SubmittedReplyStatus_PDU,
4854 { "SubmittedReplyStatus", "x420.SubmittedReplyStatus",
4855 FT_INT32, BASE_DEC, VALS(x420_SubmittedReplyStatus_vals), 0,
4857 { &hf_x420_SubmittedIPNStatus_PDU,
4858 { "SubmittedIPNStatus", "x420.SubmittedIPNStatus",
4859 FT_INT32, BASE_DEC, VALS(x420_SubmittedIPNStatus_vals), 0,
4861 { &hf_x420_RecipientCategory_PDU,
4862 { "RecipientCategory", "x420.RecipientCategory",
4863 FT_INT32, BASE_DEC, VALS(x420_RecipientCategory_vals), 0,
4865 { &hf_x420_RecipientSecurityRequest_PDU,
4866 { "RecipientSecurityRequest", "x420.RecipientSecurityRequest",
4867 FT_BYTES, BASE_NONE, NULL, 0,
4869 { &hf_x420_IpnSecurityResponse_PDU,
4870 { "IpnSecurityResponse", "x420.IpnSecurityResponse",
4871 FT_NONE, BASE_NONE, NULL, 0,
4873 { &hf_x420_BodyPartTokens_PDU,
4874 { "BodyPartTokens", "x420.BodyPartTokens",
4875 FT_UINT32, BASE_DEC, NULL, 0,
4877 { &hf_x420_ForwardedContentToken_PDU,
4878 { "ForwardedContentToken", "x420.ForwardedContentToken",
4879 FT_UINT32, BASE_DEC, NULL, 0,
4882 { "ipm", "x420.ipm",
4883 FT_NONE, BASE_NONE, NULL, 0,
4886 { "ipn", "x420.ipn",
4887 FT_NONE, BASE_NONE, NULL, 0,
4890 { "heading", "x420.heading",
4891 FT_NONE, BASE_NONE, NULL, 0,
4894 { "body", "x420.body",
4895 FT_UINT32, BASE_DEC, NULL, 0,
4898 { "type", "x420.type",
4899 FT_OID, BASE_NONE, NULL, 0,
4902 { "value", "x420.value",
4903 FT_NONE, BASE_NONE, NULL, 0,
4905 { &hf_x420_this_IPM,
4906 { "this-IPM", "x420.this_IPM",
4907 FT_NONE, BASE_NONE, NULL, 0,
4908 "ThisIPMField", HFILL }},
4909 { &hf_x420_originator,
4910 { "originator", "x420.originator",
4911 FT_NONE, BASE_NONE, NULL, 0,
4912 "OriginatorField", HFILL }},
4913 { &hf_x420_authorizing_users,
4914 { "authorizing-users", "x420.authorizing_users",
4915 FT_UINT32, BASE_DEC, NULL, 0,
4916 "AuthorizingUsersField", HFILL }},
4917 { &hf_x420_primary_recipients,
4918 { "primary-recipients", "x420.primary_recipients",
4919 FT_UINT32, BASE_DEC, NULL, 0,
4920 "PrimaryRecipientsField", HFILL }},
4921 { &hf_x420_copy_recipients,
4922 { "copy-recipients", "x420.copy_recipients",
4923 FT_UINT32, BASE_DEC, NULL, 0,
4924 "CopyRecipientsField", HFILL }},
4925 { &hf_x420_blind_copy_recipients,
4926 { "blind-copy-recipients", "x420.blind_copy_recipients",
4927 FT_UINT32, BASE_DEC, NULL, 0,
4928 "BlindCopyRecipientsField", HFILL }},
4929 { &hf_x420_replied_to_IPM,
4930 { "replied-to-IPM", "x420.replied_to_IPM",
4931 FT_NONE, BASE_NONE, NULL, 0,
4932 "RepliedToIPMField", HFILL }},
4933 { &hf_x420_obsoleted_IPMs,
4934 { "obsoleted-IPMs", "x420.obsoleted_IPMs",
4935 FT_UINT32, BASE_DEC, NULL, 0,
4936 "ObsoletedIPMsField", HFILL }},
4937 { &hf_x420_related_IPMs,
4938 { "related-IPMs", "x420.related_IPMs",
4939 FT_UINT32, BASE_DEC, NULL, 0,
4940 "RelatedIPMsField", HFILL }},
4942 { "subject", "x420.subject",
4943 FT_STRING, BASE_NONE, NULL, 0,
4944 "SubjectField", HFILL }},
4945 { &hf_x420_expiry_time,
4946 { "expiry-time", "x420.expiry_time",
4947 FT_STRING, BASE_NONE, NULL, 0,
4948 "ExpiryTimeField", HFILL }},
4949 { &hf_x420_reply_time,
4950 { "reply-time", "x420.reply_time",
4951 FT_STRING, BASE_NONE, NULL, 0,
4952 "ReplyTimeField", HFILL }},
4953 { &hf_x420_reply_recipients,
4954 { "reply-recipients", "x420.reply_recipients",
4955 FT_UINT32, BASE_DEC, NULL, 0,
4956 "ReplyRecipientsField", HFILL }},
4957 { &hf_x420_importance,
4958 { "importance", "x420.importance",
4959 FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0,
4960 "ImportanceField", HFILL }},
4961 { &hf_x420_sensitivity,
4962 { "sensitivity", "x420.sensitivity",
4963 FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0,
4964 "SensitivityField", HFILL }},
4965 { &hf_x420_auto_forwarded,
4966 { "auto-forwarded", "x420.auto_forwarded",
4967 FT_BOOLEAN, BASE_NONE, NULL, 0,
4968 "AutoForwardedField", HFILL }},
4969 { &hf_x420_extensions,
4970 { "extensions", "x420.extensions",
4971 FT_UINT32, BASE_DEC, NULL, 0,
4972 "ExtensionsField", HFILL }},
4974 { "user", "x420.user",
4975 FT_NONE, BASE_NONE, NULL, 0,
4977 { &hf_x420_user_relative_identifier,
4978 { "user-relative-identifier", "x420.user_relative_identifier",
4979 FT_STRING, BASE_NONE, NULL, 0,
4980 "LocalIPMIdentifier", HFILL }},
4981 { &hf_x420_recipient,
4982 { "recipient", "x420.recipient",
4983 FT_NONE, BASE_NONE, NULL, 0,
4984 "ORDescriptor", HFILL }},
4985 { &hf_x420_notification_requests,
4986 { "notification-requests", "x420.notification_requests",
4987 FT_BYTES, BASE_NONE, NULL, 0,
4988 "NotificationRequests", HFILL }},
4989 { &hf_x420_reply_requested,
4990 { "reply-requested", "x420.reply_requested",
4991 FT_BOOLEAN, BASE_NONE, NULL, 0,
4992 "BOOLEAN", HFILL }},
4993 { &hf_x420_recipient_extensions,
4994 { "recipient-extensions", "x420.recipient_extensions",
4995 FT_UINT32, BASE_DEC, NULL, 0,
4996 "RecipientExtensionsField", HFILL }},
4997 { &hf_x420_formal_name,
4998 { "formal-name", "x420.formal_name",
4999 FT_NONE, BASE_NONE, NULL, 0,
5001 { &hf_x420_free_form_name,
5002 { "free-form-name", "x420.free_form_name",
5003 FT_STRING, BASE_NONE, NULL, 0,
5004 "FreeFormName", HFILL }},
5005 { &hf_x420_telephone_number,
5006 { "telephone-number", "x420.telephone_number",
5007 FT_STRING, BASE_NONE, NULL, 0,
5008 "TelephoneNumber", HFILL }},
5009 { &hf_x420_RecipientExtensionsField_item,
5010 { "IPMSExtension", "x420.IPMSExtension",
5011 FT_NONE, BASE_NONE, NULL, 0,
5013 { &hf_x420_AuthorizingUsersField_item,
5014 { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield",
5015 FT_NONE, BASE_NONE, NULL, 0,
5017 { &hf_x420_PrimaryRecipientsField_item,
5018 { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield",
5019 FT_NONE, BASE_NONE, NULL, 0,
5021 { &hf_x420_CopyRecipientsField_item,
5022 { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield",
5023 FT_NONE, BASE_NONE, NULL, 0,
5025 { &hf_x420_BlindCopyRecipientsField_item,
5026 { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield",
5027 FT_NONE, BASE_NONE, NULL, 0,
5029 { &hf_x420_ObsoletedIPMsField_item,
5030 { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield",
5031 FT_NONE, BASE_NONE, NULL, 0,
5033 { &hf_x420_RelatedIPMsField_item,
5034 { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield",
5035 FT_NONE, BASE_NONE, NULL, 0,
5037 { &hf_x420_ReplyRecipientsField_item,
5038 { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield",
5039 FT_NONE, BASE_NONE, NULL, 0,
5041 { &hf_x420_ExtensionsField_item,
5042 { "IPMSExtension", "x420.IPMSExtension",
5043 FT_NONE, BASE_NONE, NULL, 0,
5045 { &hf_x420_Body_item,
5046 { "BodyPart", "x420.BodyPart",
5047 FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0,
5050 { "basic", "x420.basic",
5051 FT_UINT32, BASE_DEC, VALS(x420_T_basic_vals), 0,
5053 { &hf_x420_ia5_text,
5054 { "ia5-text", "x420.ia5_text",
5055 FT_NONE, BASE_NONE, NULL, 0,
5056 "IA5TextBodyPart", HFILL }},
5057 { &hf_x420_g3_facsimile,
5058 { "g3-facsimile", "x420.g3_facsimile",
5059 FT_NONE, BASE_NONE, NULL, 0,
5060 "G3FacsimileBodyPart", HFILL }},
5061 { &hf_x420_g4_class1,
5062 { "g4-class1", "x420.g4_class1",
5063 FT_UINT32, BASE_DEC, NULL, 0,
5064 "G4Class1BodyPart", HFILL }},
5066 { "teletex", "x420.teletex",
5067 FT_NONE, BASE_NONE, NULL, 0,
5068 "TeletexBodyPart", HFILL }},
5069 { &hf_x420_videotex,
5070 { "videotex", "x420.videotex",
5071 FT_NONE, BASE_NONE, NULL, 0,
5072 "VideotexBodyPart", HFILL }},
5073 { &hf_x420_encrypted_bp,
5074 { "encrypted", "x420.encrypted",
5075 FT_NONE, BASE_NONE, NULL, 0,
5076 "EncryptedBodyPart", HFILL }},
5078 { "message", "x420.message",
5079 FT_NONE, BASE_NONE, NULL, 0,
5080 "MessageBodyPart", HFILL }},
5081 { &hf_x420_mixed_mode,
5082 { "mixed-mode", "x420.mixed_mode",
5083 FT_UINT32, BASE_DEC, NULL, 0,
5084 "MixedModeBodyPart", HFILL }},
5085 { &hf_x420_bilaterally_defined,
5086 { "bilaterally-defined", "x420.bilaterally_defined",
5087 FT_BYTES, BASE_NONE, NULL, 0,
5088 "BilaterallyDefinedBodyPart", HFILL }},
5089 { &hf_x420_nationally_defined,
5090 { "nationally-defined", "x420.nationally_defined",
5091 FT_NONE, BASE_NONE, NULL, 0,
5092 "NationallyDefinedBodyPart", HFILL }},
5093 { &hf_x420_extended,
5094 { "extended", "x420.extended",
5095 FT_NONE, BASE_NONE, NULL, 0,
5096 "ExtendedBodyPart", HFILL }},
5097 { &hf_x420_extended_parameters,
5098 { "parameters", "x420.parameters",
5099 FT_NONE, BASE_NONE, NULL, 0,
5100 "INSTANCE_OF", HFILL }},
5101 { &hf_x420_extended_data,
5102 { "data", "x420.data",
5103 FT_NONE, BASE_NONE, NULL, 0,
5104 "INSTANCE_OF", HFILL }},
5105 { &hf_x420_ia5text_parameters,
5106 { "parameters", "x420.parameters",
5107 FT_NONE, BASE_NONE, NULL, 0,
5108 "IA5TextParameters", HFILL }},
5109 { &hf_x420_ia5text_data,
5110 { "data", "x420.data",
5111 FT_STRING, BASE_NONE, NULL, 0,
5112 "IA5TextData", HFILL }},
5113 { &hf_x420_repertoire,
5114 { "repertoire", "x420.repertoire",
5115 FT_UINT32, BASE_DEC, VALS(x420_Repertoire_vals), 0,
5117 { &hf_x420_g3facsimile_parameters,
5118 { "parameters", "x420.parameters",
5119 FT_NONE, BASE_NONE, NULL, 0,
5120 "G3FacsimileParameters", HFILL }},
5121 { &hf_x420_g3facsimile_data,
5122 { "data", "x420.data",
5123 FT_UINT32, BASE_DEC, NULL, 0,
5124 "G3FacsimileData", HFILL }},
5125 { &hf_x420_number_of_pages,
5126 { "number-of-pages", "x420.number_of_pages",
5127 FT_INT32, BASE_DEC, NULL, 0,
5128 "INTEGER", HFILL }},
5129 { &hf_x420_g3facsimile_non_basic_parameters,
5130 { "non-basic-parameters", "x420.non_basic_parameters",
5131 FT_BYTES, BASE_NONE, NULL, 0,
5132 "G3FacsimileNonBasicParameters", HFILL }},
5133 { &hf_x420_G3FacsimileData_item,
5134 { "G3FacsimileData item", "x420.G3FacsimileData_item",
5135 FT_BYTES, BASE_NONE, NULL, 0,
5136 "BIT_STRING", HFILL }},
5137 { &hf_x420_G4Class1BodyPart_item,
5138 { "Interchange-Data-Element", "x420.Interchange_Data_Element",
5139 FT_NONE, BASE_NONE, NULL, 0,
5141 { &hf_x420_MixedModeBodyPart_item,
5142 { "Interchange-Data-Element", "x420.Interchange_Data_Element",
5143 FT_NONE, BASE_NONE, NULL, 0,
5145 { &hf_x420_teletex_parameters,
5146 { "parameters", "x420.parameters",
5147 FT_NONE, BASE_NONE, NULL, 0,
5148 "TeletexParameters", HFILL }},
5149 { &hf_x420_teletex_data,
5150 { "data", "x420.data",
5151 FT_UINT32, BASE_DEC, NULL, 0,
5152 "TeletexData", HFILL }},
5153 { &hf_x420_telex_compatible,
5154 { "telex-compatible", "x420.telex_compatible",
5155 FT_BOOLEAN, BASE_NONE, NULL, 0,
5156 "BOOLEAN", HFILL }},
5157 { &hf_x420_teletex_non_basic_parameters,
5158 { "non-basic-parameters", "x420.non_basic_parameters",
5159 FT_NONE, BASE_NONE, NULL, 0,
5160 "TeletexNonBasicParameters", HFILL }},
5161 { &hf_x420_TeletexData_item,
5162 { "TeletexData item", "x420.TeletexData_item",
5163 FT_STRING, BASE_NONE, NULL, 0,
5164 "TeletexString", HFILL }},
5165 { &hf_x420_videotex_parameters,
5166 { "parameters", "x420.parameters",
5167 FT_NONE, BASE_NONE, NULL, 0,
5168 "VideotexParameters", HFILL }},
5169 { &hf_x420_videotex_data,
5170 { "data", "x420.data",
5171 FT_STRING, BASE_NONE, NULL, 0,
5172 "VideotexData", HFILL }},
5174 { "syntax", "x420.syntax",
5175 FT_INT32, BASE_DEC, VALS(x420_VideotexSyntax_vals), 0,
5176 "VideotexSyntax", HFILL }},
5177 { &hf_x420_encrypted_parameters,
5178 { "parameters", "x420.parameters",
5179 FT_NONE, BASE_NONE, NULL, 0,
5180 "EncryptedParameters", HFILL }},
5181 { &hf_x420_encrypted_data,
5182 { "data", "x420.data",
5183 FT_BYTES, BASE_NONE, NULL, 0,
5184 "EncryptedData", HFILL }},
5185 { &hf_x420_algorithm_identifier,
5186 { "algorithm-identifier", "x420.algorithm_identifier",
5187 FT_NONE, BASE_NONE, NULL, 0,
5188 "AlgorithmIdentifier", HFILL }},
5189 { &hf_x420_originator_certificates,
5190 { "originator-certificates", "x420.originator_certificates",
5191 FT_UINT32, BASE_DEC, NULL, 0,
5192 "ExtendedCertificates", HFILL }},
5193 { &hf_x420_message_parameters,
5194 { "parameters", "x420.parameters",
5195 FT_NONE, BASE_NONE, NULL, 0,
5196 "MessageParameters", HFILL }},
5197 { &hf_x420_message_data,
5198 { "data", "x420.data",
5199 FT_NONE, BASE_NONE, NULL, 0,
5200 "MessageData", HFILL }},
5201 { &hf_x420_delivery_time,
5202 { "delivery-time", "x420.delivery_time",
5203 FT_STRING, BASE_NONE, NULL, 0,
5204 "MessageDeliveryTime", HFILL }},
5205 { &hf_x420_delivery_envelope,
5206 { "delivery-envelope", "x420.delivery_envelope",
5207 FT_NONE, BASE_NONE, NULL, 0,
5208 "OtherMessageDeliveryFields", HFILL }},
5209 { &hf_x420_subject_ipm,
5210 { "subject-ipm", "x420.subject_ipm",
5211 FT_NONE, BASE_NONE, NULL, 0,
5212 "SubjectIPMField", HFILL }},
5213 { &hf_x420_ipn_originator,
5214 { "ipn-originator", "x420.ipn_originator",
5215 FT_NONE, BASE_NONE, NULL, 0,
5216 "IPNOriginatorField", HFILL }},
5217 { &hf_x420_ipm_intended_recipient,
5218 { "ipm-intended-recipient", "x420.ipm_intended_recipient",
5219 FT_NONE, BASE_NONE, NULL, 0,
5220 "IPMIntendedRecipientField", HFILL }},
5221 { &hf_x420_conversion_eits,
5222 { "conversion-eits", "x420.conversion_eits",
5223 FT_NONE, BASE_NONE, NULL, 0,
5224 "ConversionEITsField", HFILL }},
5225 { &hf_x420_notification_extensions,
5226 { "notification-extensions", "x420.notification_extensions",
5227 FT_UINT32, BASE_DEC, NULL, 0,
5228 "NotificationExtensionsField", HFILL }},
5229 { &hf_x420_non_receipt_reason,
5230 { "non-receipt-reason", "x420.non_receipt_reason",
5231 FT_UINT32, BASE_DEC, VALS(x420_NonReceiptReasonField_vals), 0,
5232 "NonReceiptReasonField", HFILL }},
5233 { &hf_x420_discard_reason,
5234 { "discard-reason", "x420.discard_reason",
5235 FT_UINT32, BASE_DEC, VALS(x420_DiscardReasonField_vals), 0,
5236 "DiscardReasonField", HFILL }},
5237 { &hf_x420_auto_forward_comment,
5238 { "auto-forward-comment", "x420.auto_forward_comment",
5239 FT_STRING, BASE_NONE, NULL, 0,
5240 "AutoForwardCommentField", HFILL }},
5241 { &hf_x420_returned_ipm,
5242 { "returned-ipm", "x420.returned_ipm",
5243 FT_NONE, BASE_NONE, NULL, 0,
5244 "ReturnedIPMField", HFILL }},
5245 { &hf_x420_nrn_extensions,
5246 { "nrn-extensions", "x420.nrn_extensions",
5247 FT_UINT32, BASE_DEC, NULL, 0,
5248 "NRNExtensionsField", HFILL }},
5249 { &hf_x420_receipt_time,
5250 { "receipt-time", "x420.receipt_time",
5251 FT_STRING, BASE_NONE, NULL, 0,
5252 "ReceiptTimeField", HFILL }},
5253 { &hf_x420_acknowledgment_mode,
5254 { "acknowledgment-mode", "x420.acknowledgment_mode",
5255 FT_UINT32, BASE_DEC, VALS(x420_AcknowledgmentModeField_vals), 0,
5256 "AcknowledgmentModeField", HFILL }},
5257 { &hf_x420_suppl_receipt_info,
5258 { "suppl-receipt-info", "x420.suppl_receipt_info",
5259 FT_STRING, BASE_NONE, NULL, 0,
5260 "SupplReceiptInfoField", HFILL }},
5261 { &hf_x420_rn_extensions,
5262 { "rn-extensions", "x420.rn_extensions",
5263 FT_UINT32, BASE_DEC, NULL, 0,
5264 "RNExtensionsField", HFILL }},
5265 { &hf_x420_NotificationExtensionsField_item,
5266 { "IPMSExtension", "x420.IPMSExtension",
5267 FT_NONE, BASE_NONE, NULL, 0,
5269 { &hf_x420_NRNExtensionsField_item,
5270 { "IPMSExtension", "x420.IPMSExtension",
5271 FT_NONE, BASE_NONE, NULL, 0,
5273 { &hf_x420_RNExtensionsField_item,
5274 { "IPMSExtension", "x420.IPMSExtension",
5275 FT_NONE, BASE_NONE, NULL, 0,
5277 { &hf_x420_OtherNotificationTypeFields_item,
5278 { "IPMSExtension", "x420.IPMSExtension",
5279 FT_NONE, BASE_NONE, NULL, 0,
5282 { "advice", "x420.advice",
5283 FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0,
5284 "BodyPart", HFILL }},
5285 { &hf_x420_next_available,
5286 { "next-available", "x420.next_available",
5287 FT_STRING, BASE_NONE, NULL, 0,
5289 { &hf_x420_new_address,
5290 { "new-address", "x420.new_address",
5291 FT_NONE, BASE_NONE, NULL, 0,
5292 "ORDescriptor", HFILL }},
5293 { &hf_x420_effective_from,
5294 { "effective-from", "x420.effective_from",
5295 FT_STRING, BASE_NONE, NULL, 0,
5297 { &hf_x420_assembly_instructions,
5298 { "assembly-instructions", "x420.assembly_instructions",
5299 FT_UINT32, BASE_DEC, NULL, 0,
5300 "BodyPartReferences", HFILL }},
5301 { &hf_x420_BodyPartReferences_item,
5302 { "BodyPartReference", "x420.BodyPartReference",
5303 FT_UINT32, BASE_DEC, VALS(x420_BodyPartReference_vals), 0,
5305 { &hf_x420_stored_entry,
5306 { "stored-entry", "x420.stored_entry",
5307 FT_UINT32, BASE_DEC, NULL, 0,
5308 "SequenceNumber", HFILL }},
5309 { &hf_x420_stored_content,
5310 { "stored-content", "x420.stored_content",
5311 FT_UINT32, BASE_DEC, NULL, 0,
5312 "SequenceNumber", HFILL }},
5313 { &hf_x420_submitted_body_part,
5314 { "submitted-body-part", "x420.submitted_body_part",
5315 FT_UINT32, BASE_DEC, NULL, 0,
5316 "INTEGER_1_MAX", HFILL }},
5317 { &hf_x420_stored_body_part,
5318 { "stored-body-part", "x420.stored_body_part",
5319 FT_NONE, BASE_NONE, NULL, 0,
5321 { &hf_x420_message_entry,
5322 { "message-entry", "x420.message_entry",
5323 FT_UINT32, BASE_DEC, NULL, 0,
5324 "SequenceNumber", HFILL }},
5325 { &hf_x420_body_part_number,
5326 { "body-part-number", "x420.body_part_number",
5327 FT_UINT32, BASE_DEC, NULL, 0,
5328 "BodyPartNumber", HFILL }},
5329 { &hf_x420_Languages_item,
5330 { "Language", "x420.Language",
5331 FT_STRING, BASE_NONE, NULL, 0,
5333 { &hf_x420_BodyPartSignatures_item,
5334 { "BodyPartSignatures item", "x420.BodyPartSignatures_item",
5335 FT_NONE, BASE_NONE, NULL, 0,
5337 { &hf_x420_body_part_signature,
5338 { "body-part-signature", "x420.body_part_signature",
5339 FT_NONE, BASE_NONE, NULL, 0,
5340 "BodyPartSignature", HFILL }},
5341 { &hf_x420_originator_certificate_selector,
5342 { "originator-certificate-selector", "x420.originator_certificate_selector",
5343 FT_NONE, BASE_NONE, NULL, 0,
5344 "CertificateAssertion", HFILL }},
5345 { &hf_x420_algorithmIdentifier,
5346 { "algorithmIdentifier", "x420.algorithmIdentifier",
5347 FT_NONE, BASE_NONE, NULL, 0,
5349 { &hf_x420_encrypted,
5350 { "encrypted", "x420.encrypted",
5351 FT_BYTES, BASE_NONE, NULL, 0,
5352 "BIT_STRING", HFILL }},
5353 { &hf_x420_content_security_label,
5354 { "content-security-label", "x420.content_security_label",
5355 FT_NONE, BASE_NONE, NULL, 0,
5356 "SecurityLabel", HFILL }},
5357 { &hf_x420_heading_security_label,
5358 { "heading-security-label", "x420.heading_security_label",
5359 FT_NONE, BASE_NONE, NULL, 0,
5360 "SecurityLabel", HFILL }},
5361 { &hf_x420_body_part_security_labels,
5362 { "body-part-security-labels", "x420.body_part_security_labels",
5363 FT_UINT32, BASE_DEC, NULL, 0,
5364 "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }},
5365 { &hf_x420_body_part_security_labels_item,
5366 { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel",
5367 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0,
5369 { &hf_x420_body_part_unlabelled,
5370 { "body-part-unlabelled", "x420.body_part_unlabelled",
5371 FT_NONE, BASE_NONE, NULL, 0,
5373 { &hf_x420_body_part_security_label,
5374 { "body-part-security-label", "x420.body_part_security_label",
5375 FT_NONE, BASE_NONE, NULL, 0,
5376 "SecurityLabel", HFILL }},
5377 { &hf_x420_CirculationList_item,
5378 { "CirculationMember", "x420.CirculationMember",
5379 FT_NONE, BASE_NONE, NULL, 0,
5381 { &hf_x420_circulation_recipient,
5382 { "circulation-recipient", "x420.circulation_recipient",
5383 FT_NONE, BASE_NONE, NULL, 0,
5384 "RecipientSpecifier", HFILL }},
5386 { "checked", "x420.checked",
5387 FT_UINT32, BASE_DEC, VALS(x420_Checkmark_vals), 0,
5388 "Checkmark", HFILL }},
5390 { "simple", "x420.simple",
5391 FT_NONE, BASE_NONE, NULL, 0,
5393 { &hf_x420_timestamped,
5394 { "timestamped", "x420.timestamped",
5395 FT_STRING, BASE_NONE, NULL, 0,
5396 "CirculationTime", HFILL }},
5398 { "signed", "x420.signed",
5399 FT_NONE, BASE_NONE, NULL, 0,
5400 "CirculationSignature", HFILL }},
5401 { &hf_x420_circulation_signature_algorithm_identifier,
5402 { "algorithm-identifier", "x420.algorithm_identifier",
5403 FT_NONE, BASE_NONE, NULL, 0,
5404 "CirculationSignatureAlgorithmIdentifier", HFILL }},
5405 { &hf_x420_timestamp,
5406 { "timestamp", "x420.timestamp",
5407 FT_STRING, BASE_NONE, NULL, 0,
5408 "CirculationTime", HFILL }},
5409 { &hf_x420_circulation_signature_data,
5410 { "circulation-signature-data", "x420.circulation_signature_data",
5411 FT_NONE, BASE_NONE, NULL, 0,
5412 "CirculationSignatureData", HFILL }},
5413 { &hf_x420_DistributionCodes_item,
5414 { "DistributionCode", "x420.DistributionCode",
5415 FT_NONE, BASE_NONE, NULL, 0,
5417 { &hf_x420_oid_code,
5418 { "oid-code", "x420.oid_code",
5419 FT_OID, BASE_NONE, NULL, 0,
5420 "OBJECT_IDENTIFIER", HFILL }},
5421 { &hf_x420_alphanumeric_code,
5422 { "alphanumeric-code", "x420.alphanumeric_code",
5423 FT_NONE, BASE_NONE, NULL, 0,
5424 "AlphaCode", HFILL }},
5425 { &hf_x420_or_descriptor,
5426 { "or-descriptor", "x420.or_descriptor",
5427 FT_NONE, BASE_NONE, NULL, 0,
5428 "ORDescriptor", HFILL }},
5429 { &hf_x420_InformationCategories_item,
5430 { "InformationCategory", "x420.InformationCategory",
5431 FT_NONE, BASE_NONE, NULL, 0,
5433 { &hf_x420_reference,
5434 { "reference", "x420.reference",
5435 FT_OID, BASE_NONE, NULL, 0,
5436 "OBJECT_IDENTIFIER", HFILL }},
5437 { &hf_x420_description,
5438 { "description", "x420.description",
5439 FT_NONE, BASE_NONE, NULL, 0,
5440 "DescriptionString", HFILL }},
5441 { &hf_x420_ManualHandlingInstructions_item,
5442 { "ManualHandlingInstruction", "x420.ManualHandlingInstruction",
5443 FT_NONE, BASE_NONE, NULL, 0,
5445 { &hf_x420_GeneralTextParameters_item,
5446 { "CharacterSetRegistration", "x420.CharacterSetRegistration",
5447 FT_UINT32, BASE_DEC, NULL, 0,
5449 { &hf_x420_related_stored_file,
5450 { "related-stored-file", "x420.related_stored_file",
5451 FT_UINT32, BASE_DEC, NULL, 0,
5452 "RelatedStoredFile", HFILL }},
5453 { &hf_x420_contents_type,
5454 { "contents-type", "x420.contents_type",
5455 FT_UINT32, BASE_DEC, VALS(x420_Contents_Type_Attribute_vals), 0,
5456 "ContentsTypeParameter", HFILL }},
5457 { &hf_x420_environment,
5458 { "environment", "x420.environment",
5459 FT_NONE, BASE_NONE, NULL, 0,
5460 "EnvironmentParameter", HFILL }},
5461 { &hf_x420_compression,
5462 { "compression", "x420.compression",
5463 FT_NONE, BASE_NONE, NULL, 0,
5464 "CompressionParameter", HFILL }},
5465 { &hf_x420_file_attributes,
5466 { "file-attributes", "x420.file_attributes",
5467 FT_NONE, BASE_NONE, NULL, 0,
5468 "FileAttributes", HFILL }},
5469 { &hf_x420_FileTransferData_item,
5470 { "FileTransferData item", "x420.FileTransferData_item",
5471 FT_NONE, BASE_NONE, NULL, 0,
5472 "EXTERNAL", HFILL }},
5473 { &hf_x420_RelatedStoredFile_item,
5474 { "RelatedStoredFile item", "x420.RelatedStoredFile_item",
5475 FT_NONE, BASE_NONE, NULL, 0,
5477 { &hf_x420_file_identifier,
5478 { "file-identifier", "x420.file_identifier",
5479 FT_UINT32, BASE_DEC, VALS(x420_FileIdentifier_vals), 0,
5480 "FileIdentifier", HFILL }},
5481 { &hf_x420_relationship,
5482 { "relationship", "x420.relationship",
5483 FT_UINT32, BASE_DEC, VALS(x420_Relationship_vals), 0,
5485 { &hf_x420_pathname_and_version,
5486 { "pathname-and-version", "x420.pathname_and_version",
5487 FT_NONE, BASE_NONE, NULL, 0,
5488 "PathnameandVersion", HFILL }},
5489 { &hf_x420_cross_reference,
5490 { "cross-reference", "x420.cross_reference",
5491 FT_NONE, BASE_NONE, NULL, 0,
5492 "CrossReference", HFILL }},
5493 { &hf_x420_pathname,
5494 { "pathname", "x420.pathname",
5495 FT_UINT32, BASE_DEC, VALS(x420_Pathname_Attribute_vals), 0,
5496 "Pathname_Attribute", HFILL }},
5497 { &hf_x420_file_version,
5498 { "file-version", "x420.file_version",
5499 FT_STRING, BASE_NONE, NULL, 0,
5500 "GraphicString", HFILL }},
5501 { &hf_x420_application_cross_reference,
5502 { "application-cross-reference", "x420.application_cross_reference",
5503 FT_BYTES, BASE_NONE, NULL, 0,
5504 "OCTET_STRING", HFILL }},
5505 { &hf_x420_message_reference,
5506 { "message-reference", "x420.message_reference",
5507 FT_NONE, BASE_NONE, NULL, 0,
5508 "MessageReference", HFILL }},
5509 { &hf_x420_body_part_reference,
5510 { "body-part-reference", "x420.body_part_reference",
5511 FT_INT32, BASE_DEC, NULL, 0,
5512 "INTEGER", HFILL }},
5513 { &hf_x420_user_relative_identifier_ref,
5514 { "user-relative-identifier", "x420.user_relative_identifier",
5515 FT_STRING, BASE_NONE, NULL, 0,
5516 "PrintableString", HFILL }},
5517 { &hf_x420_explicit_relationship,
5518 { "explicit-relationship", "x420.explicit_relationship",
5519 FT_INT32, BASE_DEC, VALS(x420_ExplicitRelationship_vals), 0,
5520 "ExplicitRelationship", HFILL }},
5521 { &hf_x420_descriptive_relationship,
5522 { "descriptive-relationship", "x420.descriptive_relationship",
5523 FT_STRING, BASE_NONE, NULL, 0,
5524 "GraphicString", HFILL }},
5525 { &hf_x420_document_type,
5526 { "document-type", "x420.document_type",
5527 FT_NONE, BASE_NONE, NULL, 0,
5528 "T_document_type", HFILL }},
5529 { &hf_x420_document_type_name,
5530 { "document-type-name", "x420.document_type_name",
5531 FT_OID, BASE_NONE, NULL, 0,
5533 { &hf_x420_parameter,
5534 { "parameter", "x420.parameter",
5535 FT_NONE, BASE_NONE, NULL, 0,
5537 { &hf_x420_constraint_set_and_abstract_syntax,
5538 { "constraint-set-and-abstract-syntax", "x420.constraint_set_and_abstract_syntax",
5539 FT_NONE, BASE_NONE, NULL, 0,
5540 "T_constraint_set_and_abstract_syntax", HFILL }},
5541 { &hf_x420_constraint_set_name,
5542 { "constraint-set-name", "x420.constraint_set_name",
5543 FT_OID, BASE_NONE, NULL, 0,
5545 { &hf_x420_abstract_syntax_name,
5546 { "abstract-syntax-name", "x420.abstract_syntax_name",
5547 FT_OID, BASE_NONE, NULL, 0,
5549 { &hf_x420_application_reference,
5550 { "application-reference", "x420.application_reference",
5551 FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
5552 "GeneralIdentifier", HFILL }},
5554 { "machine", "x420.machine",
5555 FT_UINT32, BASE_DEC, VALS(x420_GeneralIdentifier_vals), 0,
5556 "GeneralIdentifier", HFILL }},
5557 { &hf_x420_operating_system,
5558 { "operating-system", "x420.operating_system",
5559 FT_OID, BASE_NONE, NULL, 0,
5560 "OBJECT_IDENTIFIER", HFILL }},
5561 { &hf_x420_user_visible_string,
5562 { "user-visible-string", "x420.user_visible_string",
5563 FT_UINT32, BASE_DEC, NULL, 0,
5565 { &hf_x420_user_visible_string_item,
5566 { "user-visible-string item", "x420.user_visible_string_item",
5567 FT_STRING, BASE_NONE, NULL, 0,
5568 "GraphicString", HFILL }},
5569 { &hf_x420_registered_identifier,
5570 { "registered-identifier", "x420.registered_identifier",
5571 FT_OID, BASE_NONE, NULL, 0,
5572 "OBJECT_IDENTIFIER", HFILL }},
5573 { &hf_x420_descriptive_identifier,
5574 { "descriptive-identifier", "x420.descriptive_identifier",
5575 FT_UINT32, BASE_DEC, NULL, 0,
5577 { &hf_x420_descriptive_identifier_item,
5578 { "descriptive-identifier item", "x420.descriptive_identifier_item",
5579 FT_STRING, BASE_NONE, NULL, 0,
5580 "GraphicString", HFILL }},
5581 { &hf_x420_compression_algorithm_id,
5582 { "compression-algorithm-id", "x420.compression_algorithm_id",
5583 FT_NONE, BASE_NONE, NULL, 0,
5585 { &hf_x420_compression_algorithm_param,
5586 { "compression-algorithm-param", "x420.compression_algorithm_param",
5587 FT_NONE, BASE_NONE, NULL, 0,
5589 { &hf_x420_permitted_actions,
5590 { "permitted-actions", "x420.permitted_actions",
5591 FT_BYTES, BASE_NONE, NULL, 0,
5592 "Permitted_Actions_Attribute", HFILL }},
5593 { &hf_x420_storage_account,
5594 { "storage-account", "x420.storage_account",
5595 FT_UINT32, BASE_DEC, VALS(x420_Account_Attribute_vals), 0,
5596 "Account_Attribute", HFILL }},
5597 { &hf_x420_date_and_time_of_creation,
5598 { "date-and-time-of-creation", "x420.date_and_time_of_creation",
5599 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5600 "Date_and_Time_Attribute", HFILL }},
5601 { &hf_x420_date_and_time_of_last_modification,
5602 { "date-and-time-of-last-modification", "x420.date_and_time_of_last_modification",
5603 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5604 "Date_and_Time_Attribute", HFILL }},
5605 { &hf_x420_date_and_time_of_last_read_access,
5606 { "date-and-time-of-last-read-access", "x420.date_and_time_of_last_read_access",
5607 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5608 "Date_and_Time_Attribute", HFILL }},
5609 { &hf_x420_date_and_time_of_last_attribute_modification,
5610 { "date-and-time-of-last-attribute-modification", "x420.date_and_time_of_last_attribute_modification",
5611 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5612 "Date_and_Time_Attribute", HFILL }},
5613 { &hf_x420_identity_of_creator,
5614 { "identity-of-creator", "x420.identity_of_creator",
5615 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5616 "User_Identity_Attribute", HFILL }},
5617 { &hf_x420_identity_of_last_modifier,
5618 { "identity-of-last-modifier", "x420.identity_of_last_modifier",
5619 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5620 "User_Identity_Attribute", HFILL }},
5621 { &hf_x420_identity_of_last_reader,
5622 { "identity-of-last-reader", "x420.identity_of_last_reader",
5623 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5624 "User_Identity_Attribute", HFILL }},
5625 { &hf_x420_identity_of_last_attribute_modifier,
5626 { "identity-of-last-attribute-modifier", "x420.identity_of_last_attribute_modifier",
5627 FT_UINT32, BASE_DEC, VALS(x420_User_Identity_Attribute_vals), 0,
5628 "User_Identity_Attribute", HFILL }},
5629 { &hf_x420_object_availability,
5630 { "object-availability", "x420.object_availability",
5631 FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
5632 "Object_Availability_Attribute", HFILL }},
5633 { &hf_x420_object_size,
5634 { "object-size", "x420.object_size",
5635 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5636 "Object_Size_Attribute", HFILL }},
5637 { &hf_x420_future_object_size,
5638 { "future-object-size", "x420.future_object_size",
5639 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5640 "Object_Size_Attribute", HFILL }},
5641 { &hf_x420_access_control,
5642 { "access-control", "x420.access_control",
5643 FT_UINT32, BASE_DEC, VALS(x420_Access_Control_Attribute_vals), 0,
5644 "Access_Control_Attribute", HFILL }},
5645 { &hf_x420_legal_qualifications,
5646 { "legal-qualifications", "x420.legal_qualifications",
5647 FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
5648 "Legal_Qualification_Attribute", HFILL }},
5649 { &hf_x420_private_use,
5650 { "private-use", "x420.private_use",
5651 FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
5652 "Private_Use_Attribute", HFILL }},
5653 { &hf_x420_attribute_extensions,
5654 { "attribute-extensions", "x420.attribute_extensions",
5655 FT_UINT32, BASE_DEC, NULL, 0,
5657 { &hf_x420_incomplete_pathname,
5658 { "incomplete-pathname", "x420.incomplete_pathname",
5659 FT_UINT32, BASE_DEC, NULL, 0,
5660 "Pathname", HFILL }},
5661 { &hf_x420_complete_pathname,
5662 { "complete-pathname", "x420.complete_pathname",
5663 FT_UINT32, BASE_DEC, NULL, 0,
5664 "Pathname", HFILL }},
5665 { &hf_x420_no_value_available,
5666 { "no-value-available", "x420.no_value_available",
5667 FT_NONE, BASE_NONE, NULL, 0,
5669 { &hf_x420_account_actual_values,
5670 { "actual-values", "x420.actual_values",
5671 FT_STRING, BASE_NONE, NULL, 0,
5672 "Account", HFILL }},
5673 { &hf_x420_identity_actual_values,
5674 { "actual-values", "x420.actual_values",
5675 FT_STRING, BASE_NONE, NULL, 0,
5676 "User_Identity", HFILL }},
5677 { &hf_x420_actual_values,
5678 { "actual-values", "x420.actual_values",
5679 FT_UINT32, BASE_DEC, NULL, 0,
5680 "SET_OF_Access_Control_Element", HFILL }},
5681 { &hf_x420_actual_values_item,
5682 { "Access-Control-Element", "x420.Access_Control_Element",
5683 FT_NONE, BASE_NONE, NULL, 0,
5685 { &hf_x420_action_list,
5686 { "action-list", "x420.action_list",
5687 FT_BYTES, BASE_NONE, NULL, 0,
5688 "Access_Request", HFILL }},
5689 { &hf_x420_concurrency_access,
5690 { "concurrency-access", "x420.concurrency_access",
5691 FT_NONE, BASE_NONE, NULL, 0,
5693 { &hf_x420_identity,
5694 { "identity", "x420.identity",
5695 FT_STRING, BASE_NONE, NULL, 0,
5696 "User_Identity", HFILL }},
5697 { &hf_x420_passwords,
5698 { "passwords", "x420.passwords",
5699 FT_NONE, BASE_NONE, NULL, 0,
5700 "Access_Passwords", HFILL }},
5701 { &hf_x420_location,
5702 { "location", "x420.location",
5703 FT_NONE, BASE_NONE, NULL, 0,
5704 "Application_Entity_Title", HFILL }},
5705 { &hf_x420_read_password,
5706 { "read-password", "x420.read_password",
5707 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5708 "Password", HFILL }},
5709 { &hf_x420_insert_password,
5710 { "insert-password", "x420.insert_password",
5711 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5712 "Password", HFILL }},
5713 { &hf_x420_replace_password,
5714 { "replace-password", "x420.replace_password",
5715 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5716 "Password", HFILL }},
5717 { &hf_x420_extend_password,
5718 { "extend-password", "x420.extend_password",
5719 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5720 "Password", HFILL }},
5721 { &hf_x420_erase_password,
5722 { "erase-password", "x420.erase_password",
5723 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5724 "Password", HFILL }},
5725 { &hf_x420_read_attribute_password,
5726 { "read-attribute-password", "x420.read_attribute_password",
5727 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5728 "Password", HFILL }},
5729 { &hf_x420_change_attribute_password,
5730 { "change-attribute-password", "x420.change_attribute_password",
5731 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5732 "Password", HFILL }},
5733 { &hf_x420_delete_password,
5734 { "delete-password", "x420.delete_password",
5735 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5736 "Password", HFILL }},
5737 { &hf_x420_pass_passwords,
5738 { "pass-passwords", "x420.pass_passwords",
5739 FT_UINT32, BASE_DEC, NULL, 0,
5741 { &hf_x420_link_password,
5742 { "link-password", "x420.link_password",
5743 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5744 "Password", HFILL }},
5745 { &hf_x420_graphic_string,
5746 { "graphic-string", "x420.graphic_string",
5747 FT_STRING, BASE_NONE, NULL, 0,
5748 "GraphicString", HFILL }},
5749 { &hf_x420_octet_string,
5750 { "octet-string", "x420.octet_string",
5751 FT_BYTES, BASE_NONE, NULL, 0,
5753 { &hf_x420_Pass_Passwords_item,
5754 { "Password", "x420.Password",
5755 FT_UINT32, BASE_DEC, VALS(x420_Password_vals), 0,
5757 { &hf_x420_ap_title,
5758 { "ap-title", "x420.ap_title",
5759 FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
5761 { &hf_x420_ae_qualifier,
5762 { "ae-qualifier", "x420.ae_qualifier",
5763 FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
5765 { &hf_x420_voice_message_duration,
5766 { "voice-message-duration", "x420.voice_message_duration",
5767 FT_INT32, BASE_DEC, NULL, 0,
5768 "INTEGER", HFILL }},
5769 { &hf_x420_voice_encoding_type,
5770 { "voice-encoding-type", "x420.voice_encoding_type",
5771 FT_OID, BASE_NONE, NULL, 0,
5772 "OBJECT_IDENTIFIER", HFILL }},
5773 { &hf_x420_supplementary_information,
5774 { "supplementary-information", "x420.supplementary_information",
5775 FT_STRING, BASE_NONE, NULL, 0,
5776 "IA5String", HFILL }},
5777 { &hf_x420_mts_identifier,
5778 { "mts-identifier", "x420.mts_identifier",
5779 FT_NONE, BASE_NONE, NULL, 0,
5780 "MessageDeliveryIdentifier", HFILL }},
5781 { &hf_x420_submission_proof,
5782 { "submission-proof", "x420.submission_proof",
5783 FT_NONE, BASE_NONE, NULL, 0,
5784 "SubmissionProof", HFILL }},
5785 { &hf_x420_proof_of_submission,
5786 { "proof-of-submission", "x420.proof_of_submission",
5787 FT_NONE, BASE_NONE, NULL, 0,
5788 "ProofOfSubmission", HFILL }},
5789 { &hf_x420_originating_MTA_certificate,
5790 { "originating-MTA-certificate", "x420.originating_MTA_certificate",
5791 FT_NONE, BASE_NONE, NULL, 0,
5792 "OriginatingMTACertificate", HFILL }},
5793 { &hf_x420_message_submission_envelope,
5794 { "message-submission-envelope", "x420.message_submission_envelope",
5795 FT_NONE, BASE_NONE, NULL, 0,
5796 "MessageSubmissionEnvelope", HFILL }},
5797 { &hf_x420_IPMSynopsis_item,
5798 { "BodyPartSynopsis", "x420.BodyPartSynopsis",
5799 FT_UINT32, BASE_DEC, VALS(x420_BodyPartSynopsis_vals), 0,
5801 { &hf_x420_message_synopsis,
5802 { "message", "x420.message",
5803 FT_NONE, BASE_NONE, NULL, 0,
5804 "MessageBodyPartSynopsis", HFILL }},
5805 { &hf_x420_non_message,
5806 { "non-message", "x420.non_message",
5807 FT_NONE, BASE_NONE, NULL, 0,
5808 "NonMessageBodyPartSynopsis", HFILL }},
5810 { "number", "x420.number",
5811 FT_UINT32, BASE_DEC, NULL, 0,
5812 "SequenceNumber", HFILL }},
5813 { &hf_x420_synopsis,
5814 { "synopsis", "x420.synopsis",
5815 FT_UINT32, BASE_DEC, NULL, 0,
5816 "IPMSynopsis", HFILL }},
5818 { "type", "x420.type",
5819 FT_OID, BASE_NONE, NULL, 0,
5820 "OBJECT_IDENTIFIER", HFILL }},
5821 { &hf_x420_bp_parameters,
5822 { "parameters", "x420.parameters",
5823 FT_NONE, BASE_NONE, NULL, 0,
5824 "INSTANCE_OF", HFILL }},
5826 { "size", "x420.size",
5827 FT_INT32, BASE_DEC, NULL, 0,
5828 "INTEGER", HFILL }},
5829 { &hf_x420_processed,
5830 { "processed", "x420.processed",
5831 FT_BOOLEAN, BASE_NONE, NULL, 0,
5832 "BOOLEAN", HFILL }},
5834 { "data", "x420.data",
5835 FT_OID, BASE_NONE, NULL, 0,
5836 "OBJECT_IDENTIFIER", HFILL }},
5837 { &hf_x420_parameters,
5838 { "parameters", "x420.parameters",
5839 FT_OID, BASE_NONE, NULL, 0,
5840 "OBJECT_IDENTIFIER", HFILL }},
5841 { &hf_x420_this_child_entry,
5842 { "this-child-entry", "x420.this_child_entry",
5843 FT_UINT32, BASE_DEC, NULL, 0,
5844 "SequenceNumber", HFILL }},
5845 { &hf_x420_position,
5846 { "position", "x420.position",
5847 FT_INT32, BASE_DEC, NULL, 0,
5848 "INTEGER", HFILL }},
5849 { &hf_x420_BodyPartSignatureVerification_item,
5850 { "BodyPartSignatureVerification item", "x420.BodyPartSignatureVerification_item",
5851 FT_NONE, BASE_NONE, NULL, 0,
5853 { &hf_x420_body_part_sequence_number,
5854 { "body-part-sequence-number", "x420.body_part_sequence_number",
5855 FT_UINT32, BASE_DEC, NULL, 0,
5856 "BodyPartNumber", HFILL }},
5857 { &hf_x420_body_part_signature_status,
5858 { "body-part-signature", "x420.body_part_signature",
5859 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5860 "SignatureStatus", HFILL }},
5862 { "stored", "x420.stored",
5863 FT_UINT32, BASE_DEC, NULL, 0,
5864 "SET_OF_SequenceNumber", HFILL }},
5865 { &hf_x420_stored_item,
5866 { "SequenceNumber", "x420.SequenceNumber",
5867 FT_UINT32, BASE_DEC, NULL, 0,
5870 { "absent", "x420.absent",
5871 FT_NONE, BASE_NONE, NULL, 0,
5873 { &hf_x420_no_reply_received,
5874 { "no-reply-received", "x420.no_reply_received",
5875 FT_NONE, BASE_NONE, NULL, 0,
5877 { &hf_x420_received_replies,
5878 { "received-replies", "x420.received_replies",
5879 FT_UINT32, BASE_DEC, NULL, 0,
5880 "SEQUENCE_OF_SequenceNumber", HFILL }},
5881 { &hf_x420_received_replies_item,
5882 { "SequenceNumber", "x420.SequenceNumber",
5883 FT_UINT32, BASE_DEC, NULL, 0,
5885 { &hf_x420_no_ipn_received,
5886 { "no-ipn-received", "x420.no_ipn_received",
5887 FT_NONE, BASE_NONE, NULL, 0,
5889 { &hf_x420_ipns_received,
5890 { "ipns-received", "x420.ipns_received",
5891 FT_UINT32, BASE_DEC, NULL, 0,
5892 "SEQUENCE_OF_SequenceNumber", HFILL }},
5893 { &hf_x420_ipns_received_item,
5894 { "SequenceNumber", "x420.SequenceNumber",
5895 FT_UINT32, BASE_DEC, NULL, 0,
5897 { &hf_x420_content_or_arguments,
5898 { "content-or-arguments", "x420.content_or_arguments",
5899 FT_UINT32, BASE_DEC, VALS(x420_T_content_or_arguments_vals), 0,
5900 "T_content_or_arguments", HFILL }},
5901 { &hf_x420_original_content,
5902 { "original-content", "x420.original_content",
5903 FT_BYTES, BASE_NONE, NULL, 0,
5904 "OriginalContent", HFILL }},
5905 { &hf_x420_original_security_arguments,
5906 { "original-security-arguments", "x420.original_security_arguments",
5907 FT_NONE, BASE_NONE, NULL, 0,
5909 { &hf_x420_original_content_integrity_check,
5910 { "original-content-integrity-check", "x420.original_content_integrity_check",
5911 FT_NONE, BASE_NONE, NULL, 0,
5912 "OriginalContentIntegrityCheck", HFILL }},
5913 { &hf_x420_original_message_origin_authentication_check,
5914 { "original-message-origin-authentication-check", "x420.original_message_origin_authentication_check",
5915 FT_NONE, BASE_NONE, NULL, 0,
5916 "OriginalMessageOriginAuthenticationCheck", HFILL }},
5917 { &hf_x420_original_message_token,
5918 { "original-message-token", "x420.original_message_token",
5919 FT_NONE, BASE_NONE, NULL, 0,
5920 "OriginalMessageToken", HFILL }},
5921 { &hf_x420_security_diagnostic_code,
5922 { "security-diagnostic-code", "x420.security_diagnostic_code",
5923 FT_INT32, BASE_DEC, VALS(x420_SecurityDiagnosticCode_vals), 0,
5924 "SecurityDiagnosticCode", HFILL }},
5925 { &hf_x420_BodyPartTokens_item,
5926 { "BodyPartTokens item", "x420.BodyPartTokens_item",
5927 FT_NONE, BASE_NONE, NULL, 0,
5929 { &hf_x420_body_part_choice,
5930 { "body-part-choice", "x420.body_part_choice",
5931 FT_UINT32, BASE_DEC, VALS(x420_T_body_part_choice_vals), 0,
5932 "T_body_part_choice", HFILL }},
5933 { &hf_x420_encryption_token,
5934 { "encryption-token", "x420.encryption_token",
5935 FT_NONE, BASE_NONE, NULL, 0,
5936 "EncryptionToken", HFILL }},
5937 { &hf_x420_message_or_content_body_part,
5938 { "message-or-content-body-part", "x420.message_or_content_body_part",
5939 FT_UINT32, BASE_DEC, NULL, 0,
5940 "BodyPartTokens", HFILL }},
5941 { &hf_x420_encryption_algorithm_identifier,
5942 { "encryption-algorithm-identifier", "x420.encryption_algorithm_identifier",
5943 FT_NONE, BASE_NONE, NULL, 0,
5944 "AlgorithmIdentifier", HFILL }},
5945 { &hf_x420_encrypted_key,
5946 { "encrypted-key", "x420.encrypted_key",
5947 FT_BYTES, BASE_NONE, NULL, 0,
5948 "BIT_STRING", HFILL }},
5949 { &hf_x420_recipient_certificate_selector,
5950 { "recipient-certificate-selector", "x420.recipient_certificate_selector",
5951 FT_NONE, BASE_NONE, NULL, 0,
5952 "CertificateAssertion", HFILL }},
5953 { &hf_x420_recipient_certificate,
5954 { "recipient-certificate", "x420.recipient_certificate",
5955 FT_NONE, BASE_NONE, NULL, 0,
5956 "Certificates", HFILL }},
5957 { &hf_x420_ForwardedContentToken_item,
5958 { "ForwardedContentToken item", "x420.ForwardedContentToken_item",
5959 FT_NONE, BASE_NONE, NULL, 0,
5961 { &hf_x420_body_part_token_choice,
5962 { "body-part-choice", "x420.body_part_choice",
5963 FT_UINT32, BASE_DEC, VALS(x420_T_body_part_token_choice_vals), 0,
5964 "T_body_part_token_choice", HFILL }},
5965 { &hf_x420_forwarding_token,
5966 { "forwarding-token", "x420.forwarding_token",
5967 FT_NONE, BASE_NONE, NULL, 0,
5968 "MessageToken", HFILL }},
5969 { &hf_x420_forwarded_content_token,
5970 { "message-or-content-body-part", "x420.message_or_content_body_part",
5971 FT_UINT32, BASE_DEC, NULL, 0,
5972 "ForwardedContentToken", HFILL }},
5974 { "choice", "x420.choice",
5975 FT_UINT32, BASE_DEC, VALS(x420_T_choice_vals), 0,
5977 { &hf_x420_non_receipt_fields,
5978 { "non-receipt-fields", "x420.non_receipt_fields",
5979 FT_NONE, BASE_NONE, NULL, 0,
5980 "NonReceiptFields", HFILL }},
5981 { &hf_x420_receipt_fields,
5982 { "receipt-fields", "x420.receipt_fields",
5983 FT_NONE, BASE_NONE, NULL, 0,
5984 "ReceiptFields", HFILL }},
5985 { &hf_x420_other_notification_type_fields,
5986 { "other-notification-type-fields", "x420.other_notification_type_fields",
5987 FT_UINT32, BASE_DEC, NULL, 0,
5988 "OtherNotificationTypeFields", HFILL }},
5989 { &hf_x420_NotificationRequests_rn,
5991 FT_BOOLEAN, 8, NULL, 0x80,
5993 { &hf_x420_NotificationRequests_nrn,
5994 { "nrn", "x420.nrn",
5995 FT_BOOLEAN, 8, NULL, 0x40,
5997 { &hf_x420_NotificationRequests_ipm_return,
5998 { "ipm-return", "x420.ipm-return",
5999 FT_BOOLEAN, 8, NULL, 0x20,
6001 { &hf_x420_NotificationRequests_an_supported,
6002 { "an-supported", "x420.an-supported",
6003 FT_BOOLEAN, 8, NULL, 0x10,
6005 { &hf_x420_NotificationRequests_suppress_an,
6006 { "suppress-an", "x420.suppress-an",
6007 FT_BOOLEAN, 8, NULL, 0x08,
6009 { &hf_x420_Access_Request_read,
6010 { "read", "x420.read",
6011 FT_BOOLEAN, 8, NULL, 0x80,
6013 { &hf_x420_Access_Request_insert,
6014 { "insert", "x420.insert",
6015 FT_BOOLEAN, 8, NULL, 0x40,
6017 { &hf_x420_Access_Request_replace,
6018 { "replace", "x420.replace",
6019 FT_BOOLEAN, 8, NULL, 0x20,
6021 { &hf_x420_Access_Request_extend,
6022 { "extend", "x420.extend",
6023 FT_BOOLEAN, 8, NULL, 0x10,
6025 { &hf_x420_Access_Request_erase,
6026 { "erase", "x420.erase",
6027 FT_BOOLEAN, 8, NULL, 0x08,
6029 { &hf_x420_Access_Request_read_attribute,
6030 { "read-attribute", "x420.read-attribute",
6031 FT_BOOLEAN, 8, NULL, 0x04,
6033 { &hf_x420_Access_Request_change_attribute,
6034 { "change-attribute", "x420.change-attribute",
6035 FT_BOOLEAN, 8, NULL, 0x02,
6037 { &hf_x420_Access_Request_delete_object,
6038 { "delete-object", "x420.delete-object",
6039 FT_BOOLEAN, 8, NULL, 0x01,
6041 { &hf_x420_RecipientSecurityRequest_content_non_repudiation,
6042 { "content-non-repudiation", "x420.content-non-repudiation",
6043 FT_BOOLEAN, 8, NULL, 0x80,
6045 { &hf_x420_RecipientSecurityRequest_content_proof,
6046 { "content-proof", "x420.content-proof",
6047 FT_BOOLEAN, 8, NULL, 0x40,
6049 { &hf_x420_RecipientSecurityRequest_ipn_non_repudiation,
6050 { "ipn-non-repudiation", "x420.ipn-non-repudiation",
6051 FT_BOOLEAN, 8, NULL, 0x20,
6053 { &hf_x420_RecipientSecurityRequest_ipn_proof,
6054 { "ipn-proof", "x420.ipn-proof",
6055 FT_BOOLEAN, 8, NULL, 0x10,
6058 /*--- End of included file: packet-x420-hfarr.c ---*/
6059 #line 126 "packet-x420-template.c"
6062 /* List of subtrees */
6063 static gint *ett[] = {
6066 /*--- Included file: packet-x420-ettarr.c ---*/
6067 #line 1 "packet-x420-ettarr.c"
6068 &ett_x420_InformationObject,
6070 &ett_x420_IPMSExtension,
6072 &ett_x420_IPMIdentifier_U,
6073 &ett_x420_RecipientSpecifier,
6074 &ett_x420_ORDescriptor,
6075 &ett_x420_NotificationRequests,
6076 &ett_x420_RecipientExtensionsField,
6077 &ett_x420_AuthorizingUsersField,
6078 &ett_x420_PrimaryRecipientsField,
6079 &ett_x420_CopyRecipientsField,
6080 &ett_x420_BlindCopyRecipientsField,
6081 &ett_x420_ObsoletedIPMsField,
6082 &ett_x420_RelatedIPMsField,
6083 &ett_x420_ReplyRecipientsField,
6084 &ett_x420_ExtensionsField,
6088 &ett_x420_ExtendedBodyPart,
6089 &ett_x420_IA5TextBodyPart,
6090 &ett_x420_IA5TextParameters,
6091 &ett_x420_G3FacsimileBodyPart,
6092 &ett_x420_G3FacsimileParameters,
6093 &ett_x420_G3FacsimileData,
6094 &ett_x420_G4Class1BodyPart,
6095 &ett_x420_MixedModeBodyPart,
6096 &ett_x420_TeletexBodyPart,
6097 &ett_x420_TeletexParameters,
6098 &ett_x420_TeletexData,
6099 &ett_x420_VideotexBodyPart,
6100 &ett_x420_VideotexParameters,
6101 &ett_x420_EncryptedBodyPart,
6102 &ett_x420_EncryptedParameters,
6103 &ett_x420_MessageBodyPart,
6104 &ett_x420_MessageParameters,
6106 &ett_x420_CommonFields,
6107 &ett_x420_NonReceiptFields,
6108 &ett_x420_ReceiptFields,
6109 &ett_x420_NotificationExtensionsField,
6110 &ett_x420_NRNExtensionsField,
6111 &ett_x420_RNExtensionsField,
6112 &ett_x420_OtherNotificationTypeFields,
6113 &ett_x420_AbsenceAdvice,
6114 &ett_x420_ChangeOfAddressAdvice,
6115 &ett_x420_IPMAssemblyInstructions,
6116 &ett_x420_BodyPartReferences,
6117 &ett_x420_BodyPartReference,
6118 &ett_x420_T_stored_body_part,
6119 &ett_x420_Languages,
6120 &ett_x420_BodyPartSignatures,
6121 &ett_x420_BodyPartSignatures_item,
6122 &ett_x420_Signature,
6123 &ett_x420_IPMSecurityLabel,
6124 &ett_x420_SEQUENCE_OF_BodyPartSecurityLabel,
6125 &ett_x420_BodyPartSecurityLabel,
6126 &ett_x420_CirculationList,
6127 &ett_x420_CirculationMember,
6128 &ett_x420_Checkmark,
6129 &ett_x420_CirculationSignatureData,
6130 &ett_x420_CirculationSignature,
6131 &ett_x420_DistributionCodes,
6132 &ett_x420_DistributionCode,
6133 &ett_x420_InformationCategories,
6134 &ett_x420_InformationCategory,
6135 &ett_x420_ManualHandlingInstructions,
6136 &ett_x420_GeneralTextParameters,
6137 &ett_x420_FileTransferParameters,
6138 &ett_x420_FileTransferData,
6139 &ett_x420_RelatedStoredFile,
6140 &ett_x420_RelatedStoredFile_item,
6141 &ett_x420_FileIdentifier,
6142 &ett_x420_PathnameandVersion,
6143 &ett_x420_CrossReference,
6144 &ett_x420_MessageReference,
6145 &ett_x420_Relationship,
6146 &ett_x420_Contents_Type_Attribute,
6147 &ett_x420_T_document_type,
6148 &ett_x420_T_constraint_set_and_abstract_syntax,
6149 &ett_x420_EnvironmentParameter,
6150 &ett_x420_T_user_visible_string,
6151 &ett_x420_GeneralIdentifier,
6152 &ett_x420_T_descriptive_identifier,
6153 &ett_x420_CompressionParameter,
6154 &ett_x420_FileAttributes,
6155 &ett_x420_Pathname_Attribute,
6156 &ett_x420_Account_Attribute,
6157 &ett_x420_User_Identity_Attribute,
6158 &ett_x420_Access_Control_Attribute,
6159 &ett_x420_SET_OF_Access_Control_Element,
6160 &ett_x420_Access_Control_Element,
6161 &ett_x420_Access_Request,
6162 &ett_x420_Access_Passwords,
6164 &ett_x420_Pass_Passwords,
6165 &ett_x420_Application_Entity_Title,
6166 &ett_x420_VoiceParameters,
6167 &ett_x420_ForwardedContentParameters,
6168 &ett_x420_SubmissionProof,
6169 &ett_x420_IPMSynopsis,
6170 &ett_x420_BodyPartSynopsis,
6171 &ett_x420_MessageBodyPartSynopsis,
6172 &ett_x420_NonMessageBodyPartSynopsis,
6173 &ett_x420_BodyPartDescriptor,
6174 &ett_x420_BodyPartSignatureVerification,
6175 &ett_x420_BodyPartSignatureVerification_item,
6176 &ett_x420_IPMLocation,
6177 &ett_x420_SET_OF_SequenceNumber,
6178 &ett_x420_CorrelatedDeliveredReplies,
6179 &ett_x420_SEQUENCE_OF_SequenceNumber,
6180 &ett_x420_CorrelatedDeliveredIPNs,
6181 &ett_x420_RecipientSecurityRequest,
6182 &ett_x420_IpnSecurityResponse,
6183 &ett_x420_T_content_or_arguments,
6184 &ett_x420_T_original_security_arguments,
6185 &ett_x420_BodyPartTokens,
6186 &ett_x420_BodyPartTokens_item,
6187 &ett_x420_T_body_part_choice,
6188 &ett_x420_EncryptionToken,
6189 &ett_x420_ForwardedContentToken,
6190 &ett_x420_ForwardedContentToken_item,
6191 &ett_x420_T_body_part_token_choice,
6194 /*--- End of included file: packet-x420-ettarr.c ---*/
6195 #line 132 "packet-x420-template.c"
6198 /* Register protocol */
6199 proto_x420 = proto_register_protocol(PNAME, PSNAME, PFNAME);
6200 register_dissector("x420", dissect_x420, proto_x420);
6201 /* Register fields and subtrees */
6202 proto_register_field_array(proto_x420, hf, array_length(hf));
6203 proto_register_subtree_array(ett, array_length(ett));
6208 /*--- proto_reg_handoff_x420 --- */
6209 void proto_reg_handoff_x420(void) {
6212 /*--- Included file: packet-x420-dis-tab.c ---*/
6213 #line 1 "packet-x420-dis-tab.c"
6214 register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_x420, "id-on-absence-advice");
6215 register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_x420, "id-on-change-of-address-advice");
6216 register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_x420, "id-mst-assembly-instructions");
6217 register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_x420, "id-hex-incomplete-copy");
6218 register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_x420, "id-hex-languages");
6219 register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_x420, "id-hex-auto-submitted");
6220 register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_x420, "id-hex-body-part-signatures");
6221 register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hex-ipm-security-label");
6222 register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU, proto_x420, "id-hex-authorization-time");
6223 register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU, proto_x420, "id-hex-circulation-list-recipients");
6224 register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU, proto_x420, "id-rex-circulation-list-indicator");
6225 register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU, proto_x420, "id-hex-distribution-codes");
6226 register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU, proto_x420, "id-hex-extended-subject");
6227 register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU, proto_x420, "id-hex-information-categories");
6228 register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU, proto_x420, "id-hex-manual-handling-instructions");
6229 register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU, proto_x420, "id-hex-originators-reference");
6230 register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hex-precedence-policy-id");
6231 register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU, proto_x420, "id-rex-precedence");
6232 register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU, proto_x420, "id-et-ia5-text");
6233 register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_x420, "id-ep-ia5-text");
6234 register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_x420, "id-et-g3-facsimile");
6235 register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_x420, "id-ep-g3-facsimile");
6236 register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_x420, "id-et-g4-class1");
6237 register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_x420, "id-et-teletex");
6238 register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_x420, "id-ep-teletex");
6239 register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_x420, "id-et-videotex");
6240 register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU, proto_x420, "id-ep-videotex");
6241 register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU, proto_x420, "id-et-encrypted");
6242 register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_x420, "id-ep-encrypted");
6243 register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_x420, "id-et-message");
6244 register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_x420, "id-ep-message");
6245 register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_x420, "id-et-mixed-mode");
6246 register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_x420, "id-et-bilaterally-defined");
6247 register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_x420, "id-ep-general-text");
6248 register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_x420, "id-et-general-text");
6249 register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_x420, "id-ep-file-transfer");
6250 register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_x420, "id-et-file-transfer");
6251 register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_x420, "id-ep-notification");
6252 register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_x420, "id-et-notification");
6253 register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_x420, "id-ep-voice");
6254 register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU, proto_x420, "id-et-voice");
6255 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p22");
6256 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU, proto_x420, "id-et-content-p22");
6257 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p2");
6258 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_x420, "id-et-content-p2");
6259 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");
6260 register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_x420, "id-sat-ipm-entry-type");
6261 register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_x420, "id-sat-ipm-synopsis");
6262 register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_x420, "id-sat-body-parts-summary");
6263 register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_x420, "id-hat-heading");
6264 register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_x420, "id-hat-this-ipm");
6265 register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_x420, "id-hat-originator");
6266 register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_x420, "id-hat-replied-to-IPM");
6267 register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_x420, "id-hat-subject");
6268 register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_x420, "id-hat-expiry-time");
6269 register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_x420, "id-hat-reply-time");
6270 register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_x420, "id-hat-importance");
6271 register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_x420, "id-hat-sensitivity");
6272 register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_x420, "id-hat-auto-forwarded");
6273 register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_x420, "id-hat-authorizing-users");
6274 register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_x420, "id-hat-primary-recipients");
6275 register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_x420, "id-hat-copy-recipients");
6276 register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_x420, "id-hat-blind-copy-recipients");
6277 register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_x420, "id-hat-obsoleted-IPMs");
6278 register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_x420, "id-hat-related-IPMs");
6279 register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_x420, "id-hat-reply-recipients");
6280 register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_x420, "id-hat-incomplete-copy");
6281 register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_x420, "id-hat-languages");
6282 register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_x420, "id-hat-rn-requestors");
6283 register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_x420, "id-hat-nrn-requestors");
6284 register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_x420, "id-hat-reply-requestors");
6285 register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_x420, "id-hat-auto-submitted");
6286 register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_x420, "id-hat-body-part-signatures");
6287 register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hat-ipm-security-label");
6288 register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_x420, "id-hat-body-part-security-label");
6289 register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_x420, "id-hat-body-part-encryption-token");
6290 register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_x420, "id-hat-authorization-time");
6291 register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_x420, "id-hat-circulation-list-recipients");
6292 register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_x420, "id-hat-distribution-codes");
6293 register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_x420, "id-hat-extended-subject");
6294 register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_x420, "id-hat-information-category");
6295 register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_x420, "id-hat-manual-handling-instructions");
6296 register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_x420, "id-hat-originators-reference");
6297 register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hat-precedence-policy-id");
6298 register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_x420, "id-hat-forwarded-content-token");
6299 register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_x420, "id-hat-precedence");
6300 register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_x420, "id-hat-body-part-signature-verification-status");
6301 register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_x420, "id-bat-body");
6302 register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU, proto_x420, "id-cat-correlated-delivered-ipns");
6303 register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU, proto_x420, "id-cat-correlated-delivered-replies");
6304 register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU, proto_x420, "id-cat-delivered-ipn-summary");
6305 register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU, proto_x420, "id-cat-delivered-replies-summary");
6306 register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU, proto_x420, "id-cat-obsoleted-ipms");
6307 register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU, proto_x420, "id-cat-submitted-ipn-status");
6308 register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU, proto_x420, "id-cat-submitted-reply-status");
6309 register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU, proto_x420, "id-cat-recipient-category");
6310 register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU, proto_x420, "id-sec-ipm-security-request");
6311 register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU, proto_x420, "id-sec-security-common-fields");
6314 /*--- End of included file: packet-x420-dis-tab.c ---*/
6315 #line 148 "packet-x420-template.c"
6317 register_ber_oid_dissector("2.6.1.10.0", dissect_x420, proto_x420, "InterPersonal Message (1984)");
6318 register_ber_oid_dissector("2.6.1.10.1", dissect_x420, proto_x420, "InterPersonal Message (1988)");