1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -C -q -L -p p22 -c ./p22.cnf -s ./packet-p22-template -D . -O ../.. IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */
7 * Routines for X.420 (X.400 Message Transfer) packet dissection
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
19 #include <epan/packet.h>
20 #include <epan/oids.h>
21 #include <epan/asn1.h>
22 #include <epan/proto_data.h>
23 #include <wsutil/array.h>
25 #include "packet-ber.h"
26 #include "packet-acse.h"
27 #include "packet-ros.h"
29 #include "packet-x509af.h"
30 #include "packet-x509ce.h"
31 #include "packet-ftam.h"
32 #include "packet-p1.h"
33 #include "packet-p7.h"
35 #include "packet-p22.h"
37 #define PNAME "X.420 Information Object"
41 /* Initialize the protocol and registered fields */
44 static const value_string charsetreg_vals
[] = {
45 { 1, "C0: (ISO/IEC 6429)"},
46 { 6, "G0: ASCII (ISO/IEC 646)"},
47 { 77, "C1: (ISO/IEC 6429)"},
48 { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
49 { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
50 { 104, "C0: (ISO/IEC 4873)"},
51 { 105, "C1: (ISO/IEC 4873)"},
52 { 106, "C0: Teletex (CCITT T.61)"},
53 { 107, "C1: Teletex (CCITT T.61)"},
54 { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
55 { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
56 { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
57 { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
58 { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
59 { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
60 { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
61 { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
62 { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
63 { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
64 { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
65 { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
66 { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
67 { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
68 { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
69 { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
73 #define id_ipms "2.6.1"
74 #define id_mod id_ipms".0"
75 #define id_ot id_ipms".1"
76 #define id_pt id_ipms".2"
77 #define id_et id_ipms".4"
78 #define id_hex id_ipms".5"
79 #define id_sat id_ipms".6"
80 #define id_hat id_ipms".7"
81 #define id_bat id_ipms".8"
82 #define id_nat id_ipms".9"
83 #define id_mct id_ipms".10"
84 #define id_ep id_ipms".11"
85 #define id_eit id_ipms".12"
86 #define id_cat id_ipms".13"
87 #define id_mr id_ipms".14"
88 #define id_aa id_ipms".15"
89 #define id_aae id_ipms".16"
90 #define id_mst id_ipms".17"
91 #define id_sec id_ipms".18"
92 #define id_on id_ipms".19"
93 #define id_rex id_ipms".20"
94 #define id_mod_object_identifiers id_mod".0"
95 #define id_mod_functional_objects id_mod".1"
96 #define id_mod_information_objects id_mod".2"
97 #define id_mod_abstract_service id_mod".3"
98 #define id_mod_heading_extensions id_mod".6"
99 #define id_mod_extended_body_part_types id_mod".7"
100 #define id_mod_message_store_attributes id_mod".8"
101 #define id_mod_file_transfer_body_part_type id_mod".9"
102 #define id_mod_upper_bounds id_mod".10"
103 #define id_mod_extended_voice_body_part_type id_mod".11"
104 #define id_mod_forwarded_report_body_part_type id_mod".12"
105 #define id_mod_auto_actions id_mod".13"
106 #define id_mod_ipm_security_extensions id_mod".14"
107 #define id_mod_forwarded_content_body_part_type id_mod".15"
108 #define id_mod_pkcs7_body_part_type id_mod".16"
109 #define id_ot_ipms_user id_ot".1"
110 #define id_ot_ipms id_ot".2"
111 #define id_pt_origination id_pt".0"
112 #define id_pt_reception id_pt".1"
113 #define id_pt_management id_pt".2"
114 #define id_et_ia5_text id_et".0"
115 #define id_et_g3_facsimile id_et".2"
116 #define id_et_g4_class1 id_et".3"
117 #define id_et_teletex id_et".4"
118 #define id_et_videotex id_et".5"
119 #define id_et_encrypted id_et".6"
120 #define id_et_message id_et".7"
121 #define id_et_mixed_mode id_et".8"
122 #define id_et_bilaterally_defined id_et".9"
123 #define id_et_nationally_defined id_et".10"
124 #define id_et_general_text id_et".11"
125 #define id_et_file_transfer id_et".12"
126 #define id_et_report id_et".14"
127 #define id_et_notification id_et".15"
128 #define id_et_voice id_et".16"
129 #define id_et_content id_et".17"
130 #define id_et_pkcs7 id_et".18"
131 #define id_hex_incomplete_copy id_hex".0"
132 #define id_hex_languages id_hex".1"
133 #define id_hex_auto_submitted id_hex".2"
134 #define id_hex_body_part_signatures id_hex".3"
135 #define id_hex_ipm_security_label id_hex".4"
136 #define id_hex_authorization_time id_hex".5"
137 #define id_hex_circulation_list_recipients id_hex".6"
138 #define id_hex_distribution_codes id_hex".7"
139 #define id_hex_extended_subject id_hex".8"
140 #define id_hex_information_category id_hex".9"
141 #define id_hex_manual_handling_instructions id_hex".10"
142 #define id_hex_originators_reference id_hex".11"
143 #define id_hex_precedence_policy_id id_hex".12"
144 #define id_sat_ipm_entry_type id_sat".0"
145 #define id_sat_ipm_synopsis id_sat".1"
146 #define id_sat_body_parts_summary id_sat".2"
147 #define id_sat_ipm_auto_discarded id_sat".3"
148 #define id_hat_heading id_hat".0"
149 #define id_hat_this_ipm id_hat".1"
150 #define id_hat_originator id_hat".2"
151 #define id_hat_replied_to_IPM id_hat".3"
152 #define id_hat_subject id_hat".4"
153 #define id_hat_expiry_time id_hat".5"
154 #define id_hat_reply_time id_hat".6"
155 #define id_hat_importance id_hat".7"
156 #define id_hat_sensitivity id_hat".8"
157 #define id_hat_auto_forwarded id_hat".9"
158 #define id_hat_authorizing_users id_hat".10"
159 #define id_hat_primary_recipients id_hat".11"
160 #define id_hat_copy_recipients id_hat".12"
161 #define id_hat_blind_copy_recipients id_hat".13"
162 #define id_hat_obsoleted_IPMs id_hat".14"
163 #define id_hat_related_IPMs id_hat".15"
164 #define id_hat_reply_recipients id_hat".16"
165 #define id_hat_incomplete_copy id_hat".17"
166 #define id_hat_languages id_hat".18"
167 #define id_hat_rn_requestors id_hat".19"
168 #define id_hat_nrn_requestors id_hat".20"
169 #define id_hat_reply_requestors id_hat".21"
170 #define id_hat_auto_submitted id_hat".22"
171 #define id_hat_body_part_signatures id_hat".23"
172 #define id_hat_ipm_security_label id_hat".24"
173 #define id_hat_body_part_security_label id_hat".25"
174 #define id_hat_body_part_encryption_token id_hat".26"
175 #define id_hat_authorization_time id_hat".27"
176 #define id_hat_circulation_list_recipients id_hat".28"
177 #define id_hat_distribution_codes id_hat".29"
178 #define id_hat_extended_subject id_hat".30"
179 #define id_hat_information_category id_hat".31"
180 #define id_hat_manual_handling_instructions id_hat".32"
181 #define id_hat_originators_reference id_hat".33"
182 #define id_hat_precedence_policy_id id_hat".34"
183 #define id_hat_forwarded_content_token id_hat".35"
184 #define id_hat_forwarding_token id_hat".36"
185 #define id_hat_precedence id_hat".37"
186 #define id_hat_body_part_signature_verification_status id_hat".38"
187 #define id_bat_body id_bat".0"
188 #define id_bat_ia5_text_body_parts id_bat".1"
189 #define id_bat_g3_facsimile_body_parts id_bat".3"
190 #define id_bat_g4_class1_body_parts id_bat".4"
191 #define id_bat_teletex_body_parts id_bat".5"
192 #define id_bat_videotex_body_parts id_bat".6"
193 #define id_bat_encrypted_body_parts id_bat".7"
194 #define id_bat_message_body_parts id_bat".8"
195 #define id_bat_mixed_mode_body_parts id_bat".9"
196 #define id_bat_bilaterally_defined_body_parts id_bat".10"
197 #define id_bat_nationally_defined_body_parts id_bat".11"
198 #define id_bat_extended_body_part_types id_bat".12"
199 #define id_bat_ia5_text_parameters id_bat".13"
200 #define id_bat_g3_facsimile_parameters id_bat".15"
201 #define id_bat_teletex_parameters id_bat".16"
202 #define id_bat_videotex_parameters id_bat".17"
203 #define id_bat_encrypted_parameters id_bat".18"
204 #define id_bat_message_parameters id_bat".19"
205 #define id_bat_ia5_text_data id_bat".20"
206 #define id_bat_g3_facsimile_data id_bat".22"
207 #define id_bat_teletex_data id_bat".23"
208 #define id_bat_videotex_data id_bat".24"
209 #define id_bat_encrypted_data id_bat".25"
210 #define id_bat_message_data id_bat".26"
211 #define id_nat_subject_ipm id_nat".0"
212 #define id_nat_ipn_originator id_nat".1"
213 #define id_nat_ipm_intended_recipient id_nat".2"
214 #define id_nat_conversion_eits id_nat".3"
215 #define id_nat_non_receipt_reason id_nat".4"
216 #define id_nat_discard_reason id_nat".5"
217 #define id_nat_auto_forward_comment id_nat".6"
218 #define id_nat_returned_ipm id_nat".7"
219 #define id_nat_receipt_time id_nat".8"
220 #define id_nat_acknowledgment_mode id_nat".9"
221 #define id_nat_suppl_receipt_info id_nat".10"
222 #define id_nat_notification_extensions id_nat".11"
223 #define id_nat_nrn_extensions id_nat".12"
224 #define id_nat_rn_extensions id_nat".13"
225 #define id_nat_other_notification_type_fields id_nat".14"
226 #define id_cat_correlated_delivered_ipns id_cat".0"
227 #define id_cat_correlated_delivered_replies id_cat".1"
228 #define id_cat_delivered_ipn_summary id_cat".2"
229 #define id_cat_delivered_replies_summary id_cat".3"
230 #define id_cat_forwarded_ipms id_cat".4"
231 #define id_cat_forwarding_ipms id_cat".5"
232 #define id_cat_ipm_recipients id_cat".6"
233 #define id_cat_obsoleted_ipms id_cat".7"
234 #define id_cat_obsoleting_ipms id_cat".8"
235 #define id_cat_related_ipms id_cat".9"
236 #define id_cat_relating_ipms id_cat".10"
237 #define id_cat_replied_to_ipm id_cat".11"
238 #define id_cat_replying_ipms id_cat".12"
239 #define id_cat_revised_reply_time id_cat".13"
240 #define id_cat_submitted_ipn_status id_cat".14"
241 #define id_cat_submitted_ipns id_cat".15"
242 #define id_cat_submitted_reply_status id_cat".16"
243 #define id_cat_subject_ipm id_cat".17"
244 #define id_cat_recipient_category id_cat".18"
245 #define id_mct_p2_1984 id_mct".0"
246 #define id_mct_p2_1988 id_mct".1"
247 #define id_ep_ia5_text id_ep".0"
248 #define id_ep_g3_facsimile id_ep".2"
249 #define id_ep_teletex id_ep".4"
250 #define id_ep_videotex id_ep".5"
251 #define id_ep_encrypted id_ep".6"
252 #define id_ep_message id_ep".7"
253 #define id_ep_general_text id_ep".11"
254 #define id_ep_file_transfer id_ep".12"
255 #define id_ep_notification id_ep".15"
256 #define id_ep_voice id_ep".16"
257 #define id_ep_content id_ep".17"
258 #define id_eit_file_transfer id_eit".0"
259 #define id_eit_voice id_eit".1"
260 #define id_voice_11khz_sample id_eit_voice".0"
261 #define id_voice_22khz_sample id_eit_voice".1"
262 #define id_voice_cd_quality id_eit_voice".2"
263 #define id_voice_g711_mu_law id_eit_voice".3"
264 #define id_voice_g726_32k_adpcm id_eit_voice".4"
265 #define id_voice_g728_16k_ld_celp id_eit_voice".5"
266 #define id_mr_ipm_identifier id_mr".0"
267 #define id_mr_or_descriptor id_mr".1"
268 #define id_mr_or_descriptor_elements id_mr".2"
269 #define id_mr_or_descriptor_substring_elements id_mr".3"
270 #define id_mr_recipient_specifier id_mr".4"
271 #define id_mr_recipient_specifier_elements id_mr".5"
272 #define id_mr_recipient_specifier_substring_elements id_mr".6"
273 #define id_mr_ipm_location id_mr".7"
274 #define id_mr_or_descriptor_single_element id_mr".8"
275 #define id_mr_recipient_specifier_single_element id_mr".9"
276 #define id_mr_circulation_member id_mr".10"
277 #define id_mr_circulation_member_elements id_mr".11"
278 #define id_mr_circulation_member_substring_elements id_mr".12"
279 #define id_mr_circulation_member_single_element id_mr".13"
280 #define id_mr_circulation_member_checkmark id_mr".14"
281 #define id_mr_distribution_code id_mr".15"
282 #define id_mr_information_category id_mr".16"
283 #define id_aa_ipm_auto_acknowledgement id_aa".0"
284 #define id_aa_ipm_auto_correlate id_aa".1"
285 #define id_aa_ipm_auto_discard id_aa".2"
286 #define id_aa_ipm_auto_advise id_aa".3"
287 #define id_aae_auto_discard_error id_aae".0"
288 #define id_aae_auto_forwarding_loop id_aae".1"
289 #define id_aae_duplicate_ipn id_aae".2"
290 #define id_mst_invalid_assembly_instructions id_mst".0"
291 #define id_mst_invalid_ipn id_mst".1"
292 #define id_mst_assembly_instructions id_mst".2"
293 #define id_mst_suspend_auto_acknowledgement id_mst".3"
294 #define id_mst_prevent_nrn_generation id_mst".4"
295 #define id_mst_originator_body_part_encryption_token id_mst".5"
296 #define id_mst_originator_forwarded_content_token id_mst".6"
297 #define id_mst_assembly_capability id_mst".7"
298 #define id_sec_ipm_security_request id_sec".0"
299 #define id_sec_security_common_fields id_sec".1"
300 #define id_on_absence_advice id_on".0"
301 #define id_on_change_of_address_advice id_on".1"
302 #define id_rex_circulation_list_indicator id_rex".0"
303 #define id_rex_precedence id_rex".1"
304 #define ub_alpha_code_length 16
305 #define ub_auto_forward_comment 256
306 #define ub_circulation_list_members 256
307 #define ub_distribution_codes 16
308 #define ub_extended_subject_length 256
309 #define ub_free_form_name 64
310 #define ub_information_categories 16
311 #define ub_information_category_length 64
312 #define ub_ipm_identifier_suffix 2
313 #define ub_local_ipm_identifier 64
314 #define ub_manual_handling_instruction_length 128
315 #define ub_manual_handling_instructions 16
316 #define ub_originators_reference_length 64
317 #define ub_precedence 127
318 #define ub_subject_field 128
319 #define ub_telephone_number 32
321 static int hf_p22_InformationObject_PDU
; /* InformationObject */
322 static int hf_p22_Heading_PDU
; /* Heading */
323 static int hf_p22_ORDescriptor_PDU
; /* ORDescriptor */
324 static int hf_p22_ThisIPMField_PDU
; /* ThisIPMField */
325 static int hf_p22_OriginatorField_PDU
; /* OriginatorField */
326 static int hf_p22_AuthorizingUsersSubfield_PDU
; /* AuthorizingUsersSubfield */
327 static int hf_p22_PrimaryRecipientsSubfield_PDU
; /* PrimaryRecipientsSubfield */
328 static int hf_p22_CopyRecipientsSubfield_PDU
; /* CopyRecipientsSubfield */
329 static int hf_p22_BlindCopyRecipientsSubfield_PDU
; /* BlindCopyRecipientsSubfield */
330 static int hf_p22_RepliedToIPMField_PDU
; /* RepliedToIPMField */
331 static int hf_p22_ObsoletedIPMsSubfield_PDU
; /* ObsoletedIPMsSubfield */
332 static int hf_p22_RelatedIPMsSubfield_PDU
; /* RelatedIPMsSubfield */
333 static int hf_p22_SubjectField_PDU
; /* SubjectField */
334 static int hf_p22_ExpiryTimeField_PDU
; /* ExpiryTimeField */
335 static int hf_p22_ReplyTimeField_PDU
; /* ReplyTimeField */
336 static int hf_p22_ReplyRecipientsSubfield_PDU
; /* ReplyRecipientsSubfield */
337 static int hf_p22_ImportanceField_PDU
; /* ImportanceField */
338 static int hf_p22_SensitivityField_PDU
; /* SensitivityField */
339 static int hf_p22_AutoForwardedField_PDU
; /* AutoForwardedField */
340 static int hf_p22_Body_PDU
; /* Body */
341 static int hf_p22_IA5TextParameters_PDU
; /* IA5TextParameters */
342 static int hf_p22_IA5TextData_PDU
; /* IA5TextData */
343 static int hf_p22_G3FacsimileParameters_PDU
; /* G3FacsimileParameters */
344 static int hf_p22_G3FacsimileData_PDU
; /* G3FacsimileData */
345 static int hf_p22_G4Class1BodyPart_PDU
; /* G4Class1BodyPart */
346 static int hf_p22_MixedModeBodyPart_PDU
; /* MixedModeBodyPart */
347 static int hf_p22_TeletexParameters_PDU
; /* TeletexParameters */
348 static int hf_p22_TeletexData_PDU
; /* TeletexData */
349 static int hf_p22_VideotexParameters_PDU
; /* VideotexParameters */
350 static int hf_p22_VideotexData_PDU
; /* VideotexData */
351 static int hf_p22_EncryptedParameters_PDU
; /* EncryptedParameters */
352 static int hf_p22_EncryptedData_PDU
; /* EncryptedData */
353 static int hf_p22_MessageParameters_PDU
; /* MessageParameters */
354 static int hf_p22_MessageData_PDU
; /* MessageData */
355 static int hf_p22_BilaterallyDefinedBodyPart_PDU
; /* BilaterallyDefinedBodyPart */
356 static int hf_p22_IPN_PDU
; /* IPN */
357 static int hf_p22_AbsenceAdvice_PDU
; /* AbsenceAdvice */
358 static int hf_p22_ChangeOfAddressAdvice_PDU
; /* ChangeOfAddressAdvice */
359 static int hf_p22_IPMAssemblyInstructions_PDU
; /* IPMAssemblyInstructions */
360 static int hf_p22_IncompleteCopy_PDU
; /* IncompleteCopy */
361 static int hf_p22_Languages_PDU
; /* Languages */
362 static int hf_p22_Language_PDU
; /* Language */
363 static int hf_p22_AutoSubmitted_PDU
; /* AutoSubmitted */
364 static int hf_p22_BodyPartSignatures_PDU
; /* BodyPartSignatures */
365 static int hf_p22_IPMSecurityLabel_PDU
; /* IPMSecurityLabel */
366 static int hf_p22_BodyPartSecurityLabel_PDU
; /* BodyPartSecurityLabel */
367 static int hf_p22_AuthorizationTime_PDU
; /* AuthorizationTime */
368 static int hf_p22_CirculationList_PDU
; /* CirculationList */
369 static int hf_p22_CirculationMember_PDU
; /* CirculationMember */
370 static int hf_p22_CirculationListIndicator_PDU
; /* CirculationListIndicator */
371 static int hf_p22_DistributionCodes_PDU
; /* DistributionCodes */
372 static int hf_p22_DistributionCode_PDU
; /* DistributionCode */
373 static int hf_p22_ExtendedSubject_PDU
; /* ExtendedSubject */
374 static int hf_p22_InformationCategories_PDU
; /* InformationCategories */
375 static int hf_p22_InformationCategory_PDU
; /* InformationCategory */
376 static int hf_p22_ManualHandlingInstructions_PDU
; /* ManualHandlingInstructions */
377 static int hf_p22_ManualHandlingInstruction_PDU
; /* ManualHandlingInstruction */
378 static int hf_p22_OriginatorsReference_PDU
; /* OriginatorsReference */
379 static int hf_p22_PrecedencePolicyIdentifier_PDU
; /* PrecedencePolicyIdentifier */
380 static int hf_p22_Precedence_PDU
; /* Precedence */
381 static int hf_p22_GeneralTextParameters_PDU
; /* GeneralTextParameters */
382 static int hf_p22_GeneralTextData_PDU
; /* GeneralTextData */
383 static int hf_p22_FileTransferParameters_PDU
; /* FileTransferParameters */
384 static int hf_p22_FileTransferData_PDU
; /* FileTransferData */
385 static int hf_p22_VoiceParameters_PDU
; /* VoiceParameters */
386 static int hf_p22_VoiceData_PDU
; /* VoiceData */
387 static int hf_p22_ForwardedContentParameters_PDU
; /* ForwardedContentParameters */
388 static int hf_p22_IPMEntryType_PDU
; /* IPMEntryType */
389 static int hf_p22_IPMSynopsis_PDU
; /* IPMSynopsis */
390 static int hf_p22_BodyPartDescriptor_PDU
; /* BodyPartDescriptor */
391 static int hf_p22_BodyPartSignatureVerification_PDU
; /* BodyPartSignatureVerification */
392 static int hf_p22_IPMLocation_PDU
; /* IPMLocation */
393 static int hf_p22_DeliveredReplyStatus_PDU
; /* DeliveredReplyStatus */
394 static int hf_p22_CorrelatedDeliveredReplies_PDU
; /* CorrelatedDeliveredReplies */
395 static int hf_p22_DeliveredIPNStatus_PDU
; /* DeliveredIPNStatus */
396 static int hf_p22_CorrelatedDeliveredIPNs_PDU
; /* CorrelatedDeliveredIPNs */
397 static int hf_p22_SubmittedReplyStatus_PDU
; /* SubmittedReplyStatus */
398 static int hf_p22_SubmittedIPNStatus_PDU
; /* SubmittedIPNStatus */
399 static int hf_p22_RecipientCategory_PDU
; /* RecipientCategory */
400 static int hf_p22_RecipientSecurityRequest_PDU
; /* RecipientSecurityRequest */
401 static int hf_p22_IpnSecurityResponse_PDU
; /* IpnSecurityResponse */
402 static int hf_p22_BodyPartTokens_PDU
; /* BodyPartTokens */
403 static int hf_p22_ForwardedContentToken_PDU
; /* ForwardedContentToken */
404 static int hf_p22_ipm
; /* IPM */
405 static int hf_p22_ipn
; /* IPN */
406 static int hf_p22_heading
; /* Heading */
407 static int hf_p22_body
; /* Body */
408 static int hf_p22_type
; /* T_type */
409 static int hf_p22_value
; /* T_value */
410 static int hf_p22_this_IPM
; /* ThisIPMField */
411 static int hf_p22_originator
; /* OriginatorField */
412 static int hf_p22_authorizing_users
; /* AuthorizingUsersField */
413 static int hf_p22_primary_recipients
; /* PrimaryRecipientsField */
414 static int hf_p22_copy_recipients
; /* CopyRecipientsField */
415 static int hf_p22_blind_copy_recipients
; /* BlindCopyRecipientsField */
416 static int hf_p22_replied_to_IPM
; /* RepliedToIPMField */
417 static int hf_p22_obsoleted_IPMs
; /* ObsoletedIPMsField */
418 static int hf_p22_related_IPMs
; /* RelatedIPMsField */
419 static int hf_p22_subject
; /* SubjectField */
420 static int hf_p22_expiry_time
; /* ExpiryTimeField */
421 static int hf_p22_reply_time
; /* ReplyTimeField */
422 static int hf_p22_reply_recipients
; /* ReplyRecipientsField */
423 static int hf_p22_importance
; /* ImportanceField */
424 static int hf_p22_sensitivity
; /* SensitivityField */
425 static int hf_p22_auto_forwarded
; /* AutoForwardedField */
426 static int hf_p22_extensions
; /* ExtensionsField */
427 static int hf_p22_user
; /* ORName */
428 static int hf_p22_user_relative_identifier
; /* LocalIPMIdentifier */
429 static int hf_p22_recipient
; /* ORDescriptor */
430 static int hf_p22_notification_requests
; /* NotificationRequests */
431 static int hf_p22_reply_requested
; /* BOOLEAN */
432 static int hf_p22_recipient_extensions
; /* RecipientExtensionsField */
433 static int hf_p22_formal_name
; /* ORName */
434 static int hf_p22_free_form_name
; /* FreeFormName */
435 static int hf_p22_telephone_number
; /* TelephoneNumber */
436 static int hf_p22_RecipientExtensionsField_item
; /* IPMSExtension */
437 static int hf_p22_AuthorizingUsersField_item
; /* AuthorizingUsersSubfield */
438 static int hf_p22_PrimaryRecipientsField_item
; /* PrimaryRecipientsSubfield */
439 static int hf_p22_CopyRecipientsField_item
; /* CopyRecipientsSubfield */
440 static int hf_p22_BlindCopyRecipientsField_item
; /* BlindCopyRecipientsSubfield */
441 static int hf_p22_ObsoletedIPMsField_item
; /* ObsoletedIPMsSubfield */
442 static int hf_p22_RelatedIPMsField_item
; /* RelatedIPMsSubfield */
443 static int hf_p22_ReplyRecipientsField_item
; /* ReplyRecipientsSubfield */
444 static int hf_p22_ExtensionsField_item
; /* IPMSExtension */
445 static int hf_p22_Body_item
; /* BodyPart */
446 static int hf_p22_basic
; /* T_basic */
447 static int hf_p22_ia5_text
; /* IA5TextBodyPart */
448 static int hf_p22_g3_facsimile
; /* G3FacsimileBodyPart */
449 static int hf_p22_g4_class1
; /* G4Class1BodyPart */
450 static int hf_p22_teletex
; /* TeletexBodyPart */
451 static int hf_p22_videotex
; /* VideotexBodyPart */
452 static int hf_p22_encrypted_bp
; /* EncryptedBodyPart */
453 static int hf_p22_message
; /* MessageBodyPart */
454 static int hf_p22_mixed_mode
; /* MixedModeBodyPart */
455 static int hf_p22_bilaterally_defined
; /* BilaterallyDefinedBodyPart */
456 static int hf_p22_nationally_defined
; /* NationallyDefinedBodyPart */
457 static int hf_p22_extended
; /* ExtendedBodyPart */
458 static int hf_p22_extended_parameters
; /* INSTANCE_OF */
459 static int hf_p22_extended_data
; /* INSTANCE_OF */
460 static int hf_p22_ia5text_parameters
; /* IA5TextParameters */
461 static int hf_p22_ia5text_data
; /* IA5TextData */
462 static int hf_p22_repertoire
; /* Repertoire */
463 static int hf_p22_g3facsimile_parameters
; /* G3FacsimileParameters */
464 static int hf_p22_g3facsimile_data
; /* G3FacsimileData */
465 static int hf_p22_number_of_pages
; /* INTEGER */
466 static int hf_p22_g3facsimile_non_basic_parameters
; /* G3FacsimileNonBasicParameters */
467 static int hf_p22_G3FacsimileData_item
; /* BIT_STRING */
468 static int hf_p22_G4Class1BodyPart_item
; /* Interchange_Data_Element */
469 static int hf_p22_MixedModeBodyPart_item
; /* Interchange_Data_Element */
470 static int hf_p22_teletex_parameters
; /* TeletexParameters */
471 static int hf_p22_teletex_data
; /* TeletexData */
472 static int hf_p22_telex_compatible
; /* BOOLEAN */
473 static int hf_p22_teletex_non_basic_parameters
; /* TeletexNonBasicParameters */
474 static int hf_p22_TeletexData_item
; /* TeletexString */
475 static int hf_p22_videotex_parameters
; /* VideotexParameters */
476 static int hf_p22_videotex_data
; /* VideotexData */
477 static int hf_p22_syntax
; /* VideotexSyntax */
478 static int hf_p22_encrypted_parameters
; /* EncryptedParameters */
479 static int hf_p22_encrypted_data
; /* EncryptedData */
480 static int hf_p22_algorithm_identifier
; /* AlgorithmIdentifier */
481 static int hf_p22_originator_certificates
; /* ExtendedCertificates */
482 static int hf_p22_message_parameters
; /* MessageParameters */
483 static int hf_p22_message_data
; /* MessageData */
484 static int hf_p22_delivery_time
; /* MessageDeliveryTime */
485 static int hf_p22_delivery_envelope
; /* OtherMessageDeliveryFields */
486 static int hf_p22_subject_ipm
; /* SubjectIPMField */
487 static int hf_p22_ipn_originator
; /* IPNOriginatorField */
488 static int hf_p22_ipm_intended_recipient
; /* IPMIntendedRecipientField */
489 static int hf_p22_conversion_eits
; /* ConversionEITsField */
490 static int hf_p22_notification_extensions
; /* NotificationExtensionsField */
491 static int hf_p22_non_receipt_reason
; /* NonReceiptReasonField */
492 static int hf_p22_discard_reason
; /* DiscardReasonField */
493 static int hf_p22_auto_forward_comment
; /* AutoForwardCommentField */
494 static int hf_p22_returned_ipm
; /* ReturnedIPMField */
495 static int hf_p22_nrn_extensions
; /* NRNExtensionsField */
496 static int hf_p22_receipt_time
; /* ReceiptTimeField */
497 static int hf_p22_acknowledgment_mode
; /* AcknowledgmentModeField */
498 static int hf_p22_suppl_receipt_info
; /* SupplReceiptInfoField */
499 static int hf_p22_rn_extensions
; /* RNExtensionsField */
500 static int hf_p22_NotificationExtensionsField_item
; /* IPMSExtension */
501 static int hf_p22_NRNExtensionsField_item
; /* IPMSExtension */
502 static int hf_p22_RNExtensionsField_item
; /* IPMSExtension */
503 static int hf_p22_OtherNotificationTypeFields_item
; /* IPMSExtension */
504 static int hf_p22_advice
; /* BodyPart */
505 static int hf_p22_next_available
; /* Time */
506 static int hf_p22_new_address
; /* ORDescriptor */
507 static int hf_p22_effective_from
; /* Time */
508 static int hf_p22_assembly_instructions
; /* BodyPartReferences */
509 static int hf_p22_BodyPartReferences_item
; /* BodyPartReference */
510 static int hf_p22_stored_entry
; /* SequenceNumber */
511 static int hf_p22_stored_content
; /* SequenceNumber */
512 static int hf_p22_submitted_body_part
; /* INTEGER_1_MAX */
513 static int hf_p22_stored_body_part
; /* T_stored_body_part */
514 static int hf_p22_message_entry
; /* SequenceNumber */
515 static int hf_p22_body_part_number
; /* BodyPartNumber */
516 static int hf_p22_Languages_item
; /* Language */
517 static int hf_p22_BodyPartSignatures_item
; /* BodyPartSignatures_item */
518 static int hf_p22_body_part_signature
; /* BodyPartSignature */
519 static int hf_p22_originator_certificate_selector
; /* CertificateAssertion */
520 static int hf_p22_algorithmIdentifier
; /* AlgorithmIdentifier */
521 static int hf_p22_encrypted
; /* BIT_STRING */
522 static int hf_p22_content_security_label
; /* SecurityLabel */
523 static int hf_p22_heading_security_label
; /* SecurityLabel */
524 static int hf_p22_body_part_security_labels
; /* SEQUENCE_OF_BodyPartSecurityLabel */
525 static int hf_p22_body_part_security_labels_item
; /* BodyPartSecurityLabel */
526 static int hf_p22_body_part_unlabelled
; /* NULL */
527 static int hf_p22_body_part_security_label
; /* SecurityLabel */
528 static int hf_p22_CirculationList_item
; /* CirculationMember */
529 static int hf_p22_circulation_recipient
; /* RecipientSpecifier */
530 static int hf_p22_checked
; /* Checkmark */
531 static int hf_p22_simple
; /* NULL */
532 static int hf_p22_timestamped
; /* CirculationTime */
533 static int hf_p22_signed
; /* CirculationSignature */
534 static int hf_p22_circulation_signature_algorithm_identifier
; /* CirculationSignatureAlgorithmIdentifier */
535 static int hf_p22_timestamp
; /* CirculationTime */
536 static int hf_p22_circulation_signature_data
; /* CirculationSignatureData */
537 static int hf_p22_DistributionCodes_item
; /* DistributionCode */
538 static int hf_p22_oid_code
; /* OBJECT_IDENTIFIER */
539 static int hf_p22_alphanumeric_code
; /* AlphaCode */
540 static int hf_p22_or_descriptor
; /* ORDescriptor */
541 static int hf_p22_InformationCategories_item
; /* InformationCategory */
542 static int hf_p22_reference
; /* OBJECT_IDENTIFIER */
543 static int hf_p22_description
; /* DescriptionString */
544 static int hf_p22_ManualHandlingInstructions_item
; /* ManualHandlingInstruction */
545 static int hf_p22_GeneralTextParameters_item
; /* CharacterSetRegistration */
546 static int hf_p22_related_stored_file
; /* RelatedStoredFile */
547 static int hf_p22_contents_type
; /* ContentsTypeParameter */
548 static int hf_p22_environment
; /* EnvironmentParameter */
549 static int hf_p22_compression
; /* CompressionParameter */
550 static int hf_p22_file_attributes
; /* FileAttributes */
551 static int hf_p22_FileTransferData_item
; /* EXTERNAL */
552 static int hf_p22_RelatedStoredFile_item
; /* RelatedStoredFile_item */
553 static int hf_p22_file_identifier
; /* FileIdentifier */
554 static int hf_p22_relationship
; /* Relationship */
555 static int hf_p22_pathname_and_version
; /* PathnameandVersion */
556 static int hf_p22_cross_reference
; /* CrossReference */
557 static int hf_p22_pathname
; /* Pathname_Attribute */
558 static int hf_p22_file_version
; /* GraphicString */
559 static int hf_p22_application_cross_reference
; /* OCTET_STRING */
560 static int hf_p22_message_reference
; /* MessageReference */
561 static int hf_p22_body_part_reference
; /* INTEGER */
562 static int hf_p22_user_relative_identifier_ref
; /* PrintableString */
563 static int hf_p22_explicit_relationship
; /* ExplicitRelationship */
564 static int hf_p22_descriptive_relationship
; /* GraphicString */
565 static int hf_p22_document_type
; /* T_document_type */
566 static int hf_p22_document_type_name
; /* Document_Type_Name */
567 static int hf_p22_parameter
; /* T_parameter */
568 static int hf_p22_constraint_set_and_abstract_syntax
; /* T_constraint_set_and_abstract_syntax */
569 static int hf_p22_constraint_set_name
; /* Constraint_Set_Name */
570 static int hf_p22_abstract_syntax_name
; /* Abstract_Syntax_Name */
571 static int hf_p22_application_reference
; /* GeneralIdentifier */
572 static int hf_p22_machine
; /* GeneralIdentifier */
573 static int hf_p22_operating_system
; /* OBJECT_IDENTIFIER */
574 static int hf_p22_user_visible_string
; /* T_user_visible_string */
575 static int hf_p22_user_visible_string_item
; /* GraphicString */
576 static int hf_p22_registered_identifier
; /* OBJECT_IDENTIFIER */
577 static int hf_p22_descriptive_identifier
; /* T_descriptive_identifier */
578 static int hf_p22_descriptive_identifier_item
; /* GraphicString */
579 static int hf_p22_compression_algorithm_id
; /* T_compression_algorithm_id */
580 static int hf_p22_compression_algorithm_param
; /* T_compression_algorithm_param */
581 static int hf_p22_permitted_actions
; /* Permitted_Actions_Attribute */
582 static int hf_p22_storage_account
; /* Account_Attribute */
583 static int hf_p22_date_and_time_of_creation
; /* Date_and_Time_Attribute */
584 static int hf_p22_date_and_time_of_last_modification
; /* Date_and_Time_Attribute */
585 static int hf_p22_date_and_time_of_last_read_access
; /* Date_and_Time_Attribute */
586 static int hf_p22_date_and_time_of_last_attribute_modification
; /* Date_and_Time_Attribute */
587 static int hf_p22_identity_of_creator
; /* User_Identity_Attribute */
588 static int hf_p22_identity_of_last_modifier
; /* User_Identity_Attribute */
589 static int hf_p22_identity_of_last_reader
; /* User_Identity_Attribute */
590 static int hf_p22_identity_of_last_attribute_modifier
; /* User_Identity_Attribute */
591 static int hf_p22_object_availability
; /* Object_Availability_Attribute */
592 static int hf_p22_object_size
; /* Object_Size_Attribute */
593 static int hf_p22_future_object_size
; /* Object_Size_Attribute */
594 static int hf_p22_access_control
; /* Access_Control_Attribute */
595 static int hf_p22_legal_qualifications
; /* Legal_Qualification_Attribute */
596 static int hf_p22_private_use
; /* Private_Use_Attribute */
597 static int hf_p22_attribute_extensions
; /* Attribute_Extensions */
598 static int hf_p22_incomplete_pathname
; /* Pathname */
599 static int hf_p22_complete_pathname
; /* Pathname */
600 static int hf_p22_no_value_available
; /* NULL */
601 static int hf_p22_account_actual_values
; /* Account */
602 static int hf_p22_identity_actual_values
; /* User_Identity */
603 static int hf_p22_actual_values
; /* SET_OF_Access_Control_Element */
604 static int hf_p22_actual_values_item
; /* Access_Control_Element */
605 static int hf_p22_action_list
; /* Access_Request */
606 static int hf_p22_concurrency_access
; /* Concurrency_Access */
607 static int hf_p22_identity
; /* User_Identity */
608 static int hf_p22_passwords
; /* Access_Passwords */
609 static int hf_p22_location
; /* Application_Entity_Title */
610 static int hf_p22_read_password
; /* Password */
611 static int hf_p22_insert_password
; /* Password */
612 static int hf_p22_replace_password
; /* Password */
613 static int hf_p22_extend_password
; /* Password */
614 static int hf_p22_erase_password
; /* Password */
615 static int hf_p22_read_attribute_password
; /* Password */
616 static int hf_p22_change_attribute_password
; /* Password */
617 static int hf_p22_delete_password
; /* Password */
618 static int hf_p22_pass_passwords
; /* Pass_Passwords */
619 static int hf_p22_link_password
; /* Password */
620 static int hf_p22_graphic_string
; /* GraphicString */
621 static int hf_p22_octet_string
; /* OCTET_STRING */
622 static int hf_p22_Pass_Passwords_item
; /* Password */
623 static int hf_p22_ap_title
; /* AP_title */
624 static int hf_p22_ae_qualifier
; /* AE_qualifier */
625 static int hf_p22_voice_message_duration
; /* INTEGER */
626 static int hf_p22_voice_encoding_type
; /* OBJECT_IDENTIFIER */
627 static int hf_p22_supplementary_information
; /* IA5String */
628 static int hf_p22_mts_identifier
; /* MessageDeliveryIdentifier */
629 static int hf_p22_submission_proof
; /* SubmissionProof */
630 static int hf_p22_proof_of_submission
; /* ProofOfSubmission */
631 static int hf_p22_originating_MTA_certificate
; /* OriginatingMTACertificate */
632 static int hf_p22_message_submission_envelope
; /* MessageSubmissionEnvelope */
633 static int hf_p22_IPMSynopsis_item
; /* BodyPartSynopsis */
634 static int hf_p22_message_synopsis
; /* MessageBodyPartSynopsis */
635 static int hf_p22_non_message
; /* NonMessageBodyPartSynopsis */
636 static int hf_p22_number
; /* SequenceNumber */
637 static int hf_p22_synopsis
; /* IPMSynopsis */
638 static int hf_p22_bp_type
; /* OBJECT_IDENTIFIER */
639 static int hf_p22_bp_parameters
; /* INSTANCE_OF */
640 static int hf_p22_size
; /* INTEGER */
641 static int hf_p22_processed
; /* BOOLEAN */
642 static int hf_p22_data
; /* OBJECT_IDENTIFIER */
643 static int hf_p22_parameters
; /* OBJECT_IDENTIFIER */
644 static int hf_p22_this_child_entry
; /* SequenceNumber */
645 static int hf_p22_position
; /* INTEGER */
646 static int hf_p22_BodyPartSignatureVerification_item
; /* BodyPartSignatureVerification_item */
647 static int hf_p22_body_part_sequence_number
; /* BodyPartNumber */
648 static int hf_p22_body_part_signature_status
; /* SignatureStatus */
649 static int hf_p22_stored
; /* SET_OF_SequenceNumber */
650 static int hf_p22_stored_item
; /* SequenceNumber */
651 static int hf_p22_absent
; /* NULL */
652 static int hf_p22_no_reply_received
; /* NULL */
653 static int hf_p22_received_replies
; /* SEQUENCE_OF_SequenceNumber */
654 static int hf_p22_received_replies_item
; /* SequenceNumber */
655 static int hf_p22_no_ipn_received
; /* NULL */
656 static int hf_p22_ipns_received
; /* SEQUENCE_OF_SequenceNumber */
657 static int hf_p22_ipns_received_item
; /* SequenceNumber */
658 static int hf_p22_content_or_arguments
; /* T_content_or_arguments */
659 static int hf_p22_original_content
; /* OriginalContent */
660 static int hf_p22_original_security_arguments
; /* T_original_security_arguments */
661 static int hf_p22_original_content_integrity_check
; /* OriginalContentIntegrityCheck */
662 static int hf_p22_original_message_origin_authentication_check
; /* OriginalMessageOriginAuthenticationCheck */
663 static int hf_p22_original_message_token
; /* OriginalMessageToken */
664 static int hf_p22_security_diagnostic_code
; /* SecurityDiagnosticCode */
665 static int hf_p22_BodyPartTokens_item
; /* BodyPartTokens_item */
666 static int hf_p22_body_part_choice
; /* T_body_part_choice */
667 static int hf_p22_encryption_token
; /* EncryptionToken */
668 static int hf_p22_message_or_content_body_part
; /* BodyPartTokens */
669 static int hf_p22_encryption_algorithm_identifier
; /* AlgorithmIdentifier */
670 static int hf_p22_encrypted_key
; /* BIT_STRING */
671 static int hf_p22_recipient_certificate_selector
; /* CertificateAssertion */
672 static int hf_p22_recipient_certificate
; /* Certificates */
673 static int hf_p22_ForwardedContentToken_item
; /* ForwardedContentToken_item */
674 static int hf_p22_body_part_token_choice
; /* T_body_part_token_choice */
675 static int hf_p22_forwarding_token
; /* MessageToken */
676 static int hf_p22_forwarded_content_token
; /* ForwardedContentToken */
677 static int hf_p22_choice
; /* T_choice */
678 static int hf_p22_non_receipt_fields
; /* NonReceiptFields */
679 static int hf_p22_receipt_fields
; /* ReceiptFields */
680 static int hf_p22_other_notification_type_fields
; /* OtherNotificationTypeFields */
682 static int hf_p22_NotificationRequests_rn
;
683 static int hf_p22_NotificationRequests_nrn
;
684 static int hf_p22_NotificationRequests_ipm_return
;
685 static int hf_p22_NotificationRequests_an_supported
;
686 static int hf_p22_NotificationRequests_suppress_an
;
687 static int hf_p22_Access_Request_read
;
688 static int hf_p22_Access_Request_insert
;
689 static int hf_p22_Access_Request_replace
;
690 static int hf_p22_Access_Request_extend
;
691 static int hf_p22_Access_Request_erase
;
692 static int hf_p22_Access_Request_read_attribute
;
693 static int hf_p22_Access_Request_change_attribute
;
694 static int hf_p22_Access_Request_delete_object
;
695 static int hf_p22_RecipientSecurityRequest_content_non_repudiation
;
696 static int hf_p22_RecipientSecurityRequest_content_proof
;
697 static int hf_p22_RecipientSecurityRequest_ipn_non_repudiation
;
698 static int hf_p22_RecipientSecurityRequest_ipn_proof
;
700 /* Initialize the subtree pointers */
702 static int ett_p22_InformationObject
;
703 static int ett_p22_IPM
;
704 static int ett_p22_IPMSExtension
;
705 static int ett_p22_Heading
;
706 static int ett_p22_IPMIdentifier_U
;
707 static int ett_p22_RecipientSpecifier
;
708 static int ett_p22_ORDescriptor
;
709 static int ett_p22_NotificationRequests
;
710 static int ett_p22_RecipientExtensionsField
;
711 static int ett_p22_AuthorizingUsersField
;
712 static int ett_p22_PrimaryRecipientsField
;
713 static int ett_p22_CopyRecipientsField
;
714 static int ett_p22_BlindCopyRecipientsField
;
715 static int ett_p22_ObsoletedIPMsField
;
716 static int ett_p22_RelatedIPMsField
;
717 static int ett_p22_ReplyRecipientsField
;
718 static int ett_p22_ExtensionsField
;
719 static int ett_p22_Body
;
720 static int ett_p22_BodyPart
;
721 static int ett_p22_T_basic
;
722 static int ett_p22_ExtendedBodyPart
;
723 static int ett_p22_IA5TextBodyPart
;
724 static int ett_p22_IA5TextParameters
;
725 static int ett_p22_G3FacsimileBodyPart
;
726 static int ett_p22_G3FacsimileParameters
;
727 static int ett_p22_G3FacsimileData
;
728 static int ett_p22_G4Class1BodyPart
;
729 static int ett_p22_MixedModeBodyPart
;
730 static int ett_p22_TeletexBodyPart
;
731 static int ett_p22_TeletexParameters
;
732 static int ett_p22_TeletexData
;
733 static int ett_p22_VideotexBodyPart
;
734 static int ett_p22_VideotexParameters
;
735 static int ett_p22_EncryptedBodyPart
;
736 static int ett_p22_EncryptedParameters
;
737 static int ett_p22_MessageBodyPart
;
738 static int ett_p22_MessageParameters
;
739 static int ett_p22_IPN
;
740 static int ett_p22_CommonFields
;
741 static int ett_p22_NonReceiptFields
;
742 static int ett_p22_ReceiptFields
;
743 static int ett_p22_NotificationExtensionsField
;
744 static int ett_p22_NRNExtensionsField
;
745 static int ett_p22_RNExtensionsField
;
746 static int ett_p22_OtherNotificationTypeFields
;
747 static int ett_p22_AbsenceAdvice
;
748 static int ett_p22_ChangeOfAddressAdvice
;
749 static int ett_p22_IPMAssemblyInstructions
;
750 static int ett_p22_BodyPartReferences
;
751 static int ett_p22_BodyPartReference
;
752 static int ett_p22_T_stored_body_part
;
753 static int ett_p22_Languages
;
754 static int ett_p22_BodyPartSignatures
;
755 static int ett_p22_BodyPartSignatures_item
;
756 static int ett_p22_Signature
;
757 static int ett_p22_IPMSecurityLabel
;
758 static int ett_p22_SEQUENCE_OF_BodyPartSecurityLabel
;
759 static int ett_p22_BodyPartSecurityLabel
;
760 static int ett_p22_CirculationList
;
761 static int ett_p22_CirculationMember
;
762 static int ett_p22_Checkmark
;
763 static int ett_p22_CirculationSignatureData
;
764 static int ett_p22_CirculationSignature
;
765 static int ett_p22_DistributionCodes
;
766 static int ett_p22_DistributionCode
;
767 static int ett_p22_InformationCategories
;
768 static int ett_p22_InformationCategory
;
769 static int ett_p22_ManualHandlingInstructions
;
770 static int ett_p22_GeneralTextParameters
;
771 static int ett_p22_FileTransferParameters
;
772 static int ett_p22_FileTransferData
;
773 static int ett_p22_RelatedStoredFile
;
774 static int ett_p22_RelatedStoredFile_item
;
775 static int ett_p22_FileIdentifier
;
776 static int ett_p22_PathnameandVersion
;
777 static int ett_p22_CrossReference
;
778 static int ett_p22_MessageReference
;
779 static int ett_p22_Relationship
;
780 static int ett_p22_Contents_Type_Attribute
;
781 static int ett_p22_T_document_type
;
782 static int ett_p22_T_constraint_set_and_abstract_syntax
;
783 static int ett_p22_EnvironmentParameter
;
784 static int ett_p22_T_user_visible_string
;
785 static int ett_p22_GeneralIdentifier
;
786 static int ett_p22_T_descriptive_identifier
;
787 static int ett_p22_CompressionParameter
;
788 static int ett_p22_FileAttributes
;
789 static int ett_p22_Pathname_Attribute
;
790 static int ett_p22_Account_Attribute
;
791 static int ett_p22_User_Identity_Attribute
;
792 static int ett_p22_Access_Control_Attribute
;
793 static int ett_p22_SET_OF_Access_Control_Element
;
794 static int ett_p22_Access_Control_Element
;
795 static int ett_p22_Access_Request
;
796 static int ett_p22_Access_Passwords
;
797 static int ett_p22_Password
;
798 static int ett_p22_Pass_Passwords
;
799 static int ett_p22_Application_Entity_Title
;
800 static int ett_p22_VoiceParameters
;
801 static int ett_p22_ForwardedContentParameters
;
802 static int ett_p22_SubmissionProof
;
803 static int ett_p22_IPMSynopsis
;
804 static int ett_p22_BodyPartSynopsis
;
805 static int ett_p22_MessageBodyPartSynopsis
;
806 static int ett_p22_NonMessageBodyPartSynopsis
;
807 static int ett_p22_BodyPartDescriptor
;
808 static int ett_p22_BodyPartSignatureVerification
;
809 static int ett_p22_BodyPartSignatureVerification_item
;
810 static int ett_p22_IPMLocation
;
811 static int ett_p22_SET_OF_SequenceNumber
;
812 static int ett_p22_CorrelatedDeliveredReplies
;
813 static int ett_p22_SEQUENCE_OF_SequenceNumber
;
814 static int ett_p22_CorrelatedDeliveredIPNs
;
815 static int ett_p22_RecipientSecurityRequest
;
816 static int ett_p22_IpnSecurityResponse
;
817 static int ett_p22_T_content_or_arguments
;
818 static int ett_p22_T_original_security_arguments
;
819 static int ett_p22_BodyPartTokens
;
820 static int ett_p22_BodyPartTokens_item
;
821 static int ett_p22_T_body_part_choice
;
822 static int ett_p22_EncryptionToken
;
823 static int ett_p22_ForwardedContentToken
;
824 static int ett_p22_ForwardedContentToken_item
;
825 static int ett_p22_T_body_part_token_choice
;
826 static int ett_p22_T_choice
;
828 /*--- Cyclic dependencies ---*/
830 /* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */
831 /*int dissect_p22_IPM(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);*/
833 /* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */
834 static int dissect_p22_IPMSynopsis(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
836 /* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */
837 static int dissect_p22_BodyPartTokens(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
839 /* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */
840 static int dissect_p22_ForwardedContentToken(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
846 dissect_p22_Time(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
847 offset
= dissect_ber_UTCTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
, NULL
);
855 dissect_p22_LocalIPMIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
856 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
857 actx
, tree
, tvb
, offset
,
858 0, ub_local_ipm_identifier
, hf_index
, NULL
);
864 static const ber_sequence_t IPMIdentifier_U_set
[] = {
865 { &hf_p22_user
, BER_CLASS_APP
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p1_ORName
},
866 { &hf_p22_user_relative_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_PrintableString
, BER_FLAGS_NOOWNTAG
, dissect_p22_LocalIPMIdentifier
},
867 { NULL
, 0, 0, 0, NULL
}
871 dissect_p22_IPMIdentifier_U(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
872 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
873 IPMIdentifier_U_set
, hf_index
, ett_p22_IPMIdentifier_U
);
881 dissect_p22_IPMIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
882 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
883 hf_index
, BER_CLASS_APP
, 11, true, dissect_p22_IPMIdentifier_U
);
891 dissect_p22_ThisIPMField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
892 offset
= dissect_p22_IPMIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
900 dissect_p22_FreeFormName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
901 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_TeletexString
,
902 actx
, tree
, tvb
, offset
,
903 0, ub_free_form_name
, hf_index
, NULL
);
911 dissect_p22_TelephoneNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
912 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
913 actx
, tree
, tvb
, offset
,
914 0, ub_telephone_number
, hf_index
, NULL
);
920 static const ber_sequence_t ORDescriptor_set
[] = {
921 { &hf_p22_formal_name
, BER_CLASS_APP
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p1_ORName
},
922 { &hf_p22_free_form_name
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_FreeFormName
},
923 { &hf_p22_telephone_number
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_TelephoneNumber
},
924 { NULL
, 0, 0, 0, NULL
}
928 dissect_p22_ORDescriptor(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
929 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
930 ORDescriptor_set
, hf_index
, ett_p22_ORDescriptor
);
938 dissect_p22_OriginatorField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
939 offset
= dissect_p22_ORDescriptor(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
947 dissect_p22_AuthorizingUsersSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
948 offset
= dissect_p22_ORDescriptor(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
954 static const ber_sequence_t AuthorizingUsersField_sequence_of
[1] = {
955 { &hf_p22_AuthorizingUsersField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_AuthorizingUsersSubfield
},
959 dissect_p22_AuthorizingUsersField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
960 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
961 AuthorizingUsersField_sequence_of
, hf_index
, ett_p22_AuthorizingUsersField
);
967 static int * const NotificationRequests_bits
[] = {
968 &hf_p22_NotificationRequests_rn
,
969 &hf_p22_NotificationRequests_nrn
,
970 &hf_p22_NotificationRequests_ipm_return
,
971 &hf_p22_NotificationRequests_an_supported
,
972 &hf_p22_NotificationRequests_suppress_an
,
977 dissect_p22_NotificationRequests(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
978 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
979 NotificationRequests_bits
, 5, hf_index
, ett_p22_NotificationRequests
,
988 dissect_p22_BOOLEAN(bool 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_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
997 dissect_p22_T_type(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
998 const char *name
= NULL
;
1000 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &actx
->external
.direct_reference
);
1003 name
= oid_resolved_from_string(actx
->pinfo
->pool
, actx
->external
.direct_reference
);
1004 proto_item_append_text(tree
, " (%s)", name
? name
: actx
->external
.direct_reference
);
1013 dissect_p22_T_value(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1015 offset
=call_ber_oid_callback(actx
->external
.direct_reference
, tvb
, offset
, actx
->pinfo
, tree
, NULL
);
1022 static const ber_sequence_t IPMSExtension_sequence
[] = {
1023 { &hf_p22_type
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_p22_T_type
},
1024 { &hf_p22_value
, BER_CLASS_ANY
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_T_value
},
1025 { NULL
, 0, 0, 0, NULL
}
1029 dissect_p22_IPMSExtension(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1031 IPMSExtension_sequence
, hf_index
, ett_p22_IPMSExtension
);
1037 static const ber_sequence_t RecipientExtensionsField_set_of
[1] = {
1038 { &hf_p22_RecipientExtensionsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
1042 dissect_p22_RecipientExtensionsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1043 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1044 RecipientExtensionsField_set_of
, hf_index
, ett_p22_RecipientExtensionsField
);
1050 static const ber_sequence_t RecipientSpecifier_set
[] = {
1051 { &hf_p22_recipient
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_ORDescriptor
},
1052 { &hf_p22_notification_requests
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_NotificationRequests
},
1053 { &hf_p22_reply_requested
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_BOOLEAN
},
1054 { &hf_p22_recipient_extensions
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_RecipientExtensionsField
},
1055 { NULL
, 0, 0, 0, NULL
}
1059 dissect_p22_RecipientSpecifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1060 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1061 RecipientSpecifier_set
, hf_index
, ett_p22_RecipientSpecifier
);
1069 dissect_p22_PrimaryRecipientsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1070 offset
= dissect_p22_RecipientSpecifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1076 static const ber_sequence_t PrimaryRecipientsField_sequence_of
[1] = {
1077 { &hf_p22_PrimaryRecipientsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_PrimaryRecipientsSubfield
},
1081 dissect_p22_PrimaryRecipientsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1082 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1083 PrimaryRecipientsField_sequence_of
, hf_index
, ett_p22_PrimaryRecipientsField
);
1091 dissect_p22_CopyRecipientsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1092 offset
= dissect_p22_RecipientSpecifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1098 static const ber_sequence_t CopyRecipientsField_sequence_of
[1] = {
1099 { &hf_p22_CopyRecipientsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_CopyRecipientsSubfield
},
1103 dissect_p22_CopyRecipientsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1104 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1105 CopyRecipientsField_sequence_of
, hf_index
, ett_p22_CopyRecipientsField
);
1113 dissect_p22_BlindCopyRecipientsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1114 offset
= dissect_p22_RecipientSpecifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1120 static const ber_sequence_t BlindCopyRecipientsField_sequence_of
[1] = {
1121 { &hf_p22_BlindCopyRecipientsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_BlindCopyRecipientsSubfield
},
1125 dissect_p22_BlindCopyRecipientsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1126 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1127 BlindCopyRecipientsField_sequence_of
, hf_index
, ett_p22_BlindCopyRecipientsField
);
1135 dissect_p22_RepliedToIPMField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1136 offset
= dissect_p22_IPMIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1144 dissect_p22_ObsoletedIPMsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1145 offset
= dissect_p22_IPMIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1151 static const ber_sequence_t ObsoletedIPMsField_sequence_of
[1] = {
1152 { &hf_p22_ObsoletedIPMsField_item
, BER_CLASS_APP
, 11, BER_FLAGS_NOOWNTAG
, dissect_p22_ObsoletedIPMsSubfield
},
1156 dissect_p22_ObsoletedIPMsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1157 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1158 ObsoletedIPMsField_sequence_of
, hf_index
, ett_p22_ObsoletedIPMsField
);
1166 dissect_p22_RelatedIPMsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1167 offset
= dissect_p22_IPMIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1173 static const ber_sequence_t RelatedIPMsField_sequence_of
[1] = {
1174 { &hf_p22_RelatedIPMsField_item
, BER_CLASS_APP
, 11, BER_FLAGS_NOOWNTAG
, dissect_p22_RelatedIPMsSubfield
},
1178 dissect_p22_RelatedIPMsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1179 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1180 RelatedIPMsField_sequence_of
, hf_index
, ett_p22_RelatedIPMsField
);
1188 dissect_p22_SubjectField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1189 tvbuff_t
*subject
=NULL
;
1191 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_TeletexString
,
1192 actx
, tree
, tvb
, offset
,
1193 0, ub_subject_field
, hf_index
, &subject
);
1197 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, " (%s)", tvb_get_string_enc(actx
->pinfo
->pool
, subject
, 0,
1198 tvb_reported_length(subject
), ENC_T61
));
1207 dissect_p22_ExpiryTimeField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1208 offset
= dissect_p22_Time(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1216 dissect_p22_ReplyTimeField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1217 offset
= dissect_p22_Time(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1225 dissect_p22_ReplyRecipientsSubfield(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1226 offset
= dissect_p22_ORDescriptor(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1232 static const ber_sequence_t ReplyRecipientsField_sequence_of
[1] = {
1233 { &hf_p22_ReplyRecipientsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_ReplyRecipientsSubfield
},
1237 dissect_p22_ReplyRecipientsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1238 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1239 ReplyRecipientsField_sequence_of
, hf_index
, ett_p22_ReplyRecipientsField
);
1245 static const value_string p22_ImportanceField_vals
[] = {
1254 dissect_p22_ImportanceField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1255 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1262 static const value_string p22_SensitivityField_vals
[] = {
1265 { 3, "company-confidential" },
1271 dissect_p22_SensitivityField(bool 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_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1281 dissect_p22_AutoForwardedField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1282 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
1288 static const ber_sequence_t ExtensionsField_set_of
[1] = {
1289 { &hf_p22_ExtensionsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
1293 dissect_p22_ExtensionsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1294 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1295 ExtensionsField_set_of
, hf_index
, ett_p22_ExtensionsField
);
1301 static const ber_sequence_t Heading_set
[] = {
1302 { &hf_p22_this_IPM
, BER_CLASS_APP
, 11, BER_FLAGS_NOOWNTAG
, dissect_p22_ThisIPMField
},
1303 { &hf_p22_originator
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OriginatorField
},
1304 { &hf_p22_authorizing_users
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_AuthorizingUsersField
},
1305 { &hf_p22_primary_recipients
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_PrimaryRecipientsField
},
1306 { &hf_p22_copy_recipients
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_CopyRecipientsField
},
1307 { &hf_p22_blind_copy_recipients
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_BlindCopyRecipientsField
},
1308 { &hf_p22_replied_to_IPM
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_RepliedToIPMField
},
1309 { &hf_p22_obsoleted_IPMs
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ObsoletedIPMsField
},
1310 { &hf_p22_related_IPMs
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_RelatedIPMsField
},
1311 { &hf_p22_subject
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_p22_SubjectField
},
1312 { &hf_p22_expiry_time
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ExpiryTimeField
},
1313 { &hf_p22_reply_time
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ReplyTimeField
},
1314 { &hf_p22_reply_recipients
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ReplyRecipientsField
},
1315 { &hf_p22_importance
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ImportanceField
},
1316 { &hf_p22_sensitivity
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_SensitivityField
},
1317 { &hf_p22_auto_forwarded
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_AutoForwardedField
},
1318 { &hf_p22_extensions
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ExtensionsField
},
1319 { NULL
, 0, 0, 0, NULL
}
1323 dissect_p22_Heading(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1324 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1325 Heading_set
, hf_index
, ett_p22_Heading
);
1331 static const value_string p22_Repertoire_vals
[] = {
1339 dissect_p22_Repertoire(bool 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_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1347 static const ber_sequence_t IA5TextParameters_set
[] = {
1348 { &hf_p22_repertoire
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_Repertoire
},
1349 { NULL
, 0, 0, 0, NULL
}
1353 dissect_p22_IA5TextParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1354 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1355 IA5TextParameters_set
, hf_index
, ett_p22_IA5TextParameters
);
1363 dissect_p22_IA5TextData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1364 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
1365 actx
, tree
, tvb
, offset
, hf_index
,
1372 static const ber_sequence_t IA5TextBodyPart_sequence
[] = {
1373 { &hf_p22_ia5text_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_IA5TextParameters
},
1374 { &hf_p22_ia5text_data
, BER_CLASS_UNI
, BER_UNI_TAG_IA5String
, BER_FLAGS_NOOWNTAG
, dissect_p22_IA5TextData
},
1375 { NULL
, 0, 0, 0, NULL
}
1379 dissect_p22_IA5TextBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1380 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1381 IA5TextBodyPart_sequence
, hf_index
, ett_p22_IA5TextBodyPart
);
1389 dissect_p22_INTEGER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1390 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1397 static const ber_sequence_t G3FacsimileParameters_set
[] = {
1398 { &hf_p22_number_of_pages
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
1399 { &hf_p22_g3facsimile_non_basic_parameters
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_G3FacsimileNonBasicParameters
},
1400 { NULL
, 0, 0, 0, NULL
}
1404 dissect_p22_G3FacsimileParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1405 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1406 G3FacsimileParameters_set
, hf_index
, ett_p22_G3FacsimileParameters
);
1414 dissect_p22_BIT_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1415 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1416 NULL
, 0, hf_index
, -1,
1423 static const ber_sequence_t G3FacsimileData_sequence_of
[1] = {
1424 { &hf_p22_G3FacsimileData_item
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_BIT_STRING
},
1428 dissect_p22_G3FacsimileData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1429 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1430 G3FacsimileData_sequence_of
, hf_index
, ett_p22_G3FacsimileData
);
1436 static const ber_sequence_t G3FacsimileBodyPart_sequence
[] = {
1437 { &hf_p22_g3facsimile_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_G3FacsimileParameters
},
1438 { &hf_p22_g3facsimile_data
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_G3FacsimileData
},
1439 { NULL
, 0, 0, 0, NULL
}
1443 dissect_p22_G3FacsimileBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1444 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1445 G3FacsimileBodyPart_sequence
, hf_index
, ett_p22_G3FacsimileBodyPart
);
1453 dissect_p22_Interchange_Data_Element(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1454 /* XXX Not implemented yet */
1461 static const ber_sequence_t G4Class1BodyPart_sequence_of
[1] = {
1462 { &hf_p22_G4Class1BodyPart_item
, BER_CLASS_ANY
, 0, BER_FLAGS_NOOWNTAG
, dissect_p22_Interchange_Data_Element
},
1466 dissect_p22_G4Class1BodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1467 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1468 G4Class1BodyPart_sequence_of
, hf_index
, ett_p22_G4Class1BodyPart
);
1474 static const ber_sequence_t TeletexParameters_set
[] = {
1475 { &hf_p22_number_of_pages
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
1476 { &hf_p22_telex_compatible
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_BOOLEAN
},
1477 { &hf_p22_teletex_non_basic_parameters
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_TeletexNonBasicParameters
},
1478 { NULL
, 0, 0, 0, NULL
}
1482 dissect_p22_TeletexParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1483 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1484 TeletexParameters_set
, hf_index
, ett_p22_TeletexParameters
);
1492 dissect_p22_TeletexString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1493 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_TeletexString
,
1494 actx
, tree
, tvb
, offset
, hf_index
,
1501 static const ber_sequence_t TeletexData_sequence_of
[1] = {
1502 { &hf_p22_TeletexData_item
, BER_CLASS_UNI
, BER_UNI_TAG_TeletexString
, BER_FLAGS_NOOWNTAG
, dissect_p22_TeletexString
},
1506 dissect_p22_TeletexData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1507 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1508 TeletexData_sequence_of
, hf_index
, ett_p22_TeletexData
);
1514 static const ber_sequence_t TeletexBodyPart_sequence
[] = {
1515 { &hf_p22_teletex_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_TeletexParameters
},
1516 { &hf_p22_teletex_data
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_TeletexData
},
1517 { NULL
, 0, 0, 0, NULL
}
1521 dissect_p22_TeletexBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1522 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1523 TeletexBodyPart_sequence
, hf_index
, ett_p22_TeletexBodyPart
);
1529 static const value_string p22_VideotexSyntax_vals
[] = {
1531 { 1, "data-syntax1" },
1532 { 2, "data-syntax2" },
1533 { 3, "data-syntax3" },
1539 dissect_p22_VideotexSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1540 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1547 static const ber_sequence_t VideotexParameters_set
[] = {
1548 { &hf_p22_syntax
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_VideotexSyntax
},
1549 { NULL
, 0, 0, 0, NULL
}
1553 dissect_p22_VideotexParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1554 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1555 VideotexParameters_set
, hf_index
, ett_p22_VideotexParameters
);
1563 dissect_p22_VideotexData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1564 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VideotexString
,
1565 actx
, tree
, tvb
, offset
, hf_index
,
1572 static const ber_sequence_t VideotexBodyPart_sequence
[] = {
1573 { &hf_p22_videotex_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_VideotexParameters
},
1574 { &hf_p22_videotex_data
, BER_CLASS_UNI
, BER_UNI_TAG_VideotexString
, BER_FLAGS_NOOWNTAG
, dissect_p22_VideotexData
},
1575 { NULL
, 0, 0, 0, NULL
}
1579 dissect_p22_VideotexBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1580 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1581 VideotexBodyPart_sequence
, hf_index
, ett_p22_VideotexBodyPart
);
1587 static const ber_sequence_t EncryptedParameters_set
[] = {
1588 { &hf_p22_algorithm_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1589 { &hf_p22_originator_certificates
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p1_ExtendedCertificates
},
1590 { NULL
, 0, 0, 0, NULL
}
1594 dissect_p22_EncryptedParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1595 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1596 EncryptedParameters_set
, hf_index
, ett_p22_EncryptedParameters
);
1604 dissect_p22_EncryptedData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1605 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1606 NULL
, 0, hf_index
, -1,
1613 static const ber_sequence_t EncryptedBodyPart_sequence
[] = {
1614 { &hf_p22_encrypted_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_EncryptedParameters
},
1615 { &hf_p22_encrypted_data
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_EncryptedData
},
1616 { NULL
, 0, 0, 0, NULL
}
1620 dissect_p22_EncryptedBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1621 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1622 EncryptedBodyPart_sequence
, hf_index
, ett_p22_EncryptedBodyPart
);
1628 static const ber_sequence_t MessageParameters_set
[] = {
1629 { &hf_p22_delivery_time
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_MessageDeliveryTime
},
1630 { &hf_p22_delivery_envelope
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_OtherMessageDeliveryFields
},
1631 { NULL
, 0, 0, 0, NULL
}
1635 dissect_p22_MessageParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1636 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1637 MessageParameters_set
, hf_index
, ett_p22_MessageParameters
);
1645 dissect_p22_MessageData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1646 offset
= dissect_p22_IPM(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1652 static const ber_sequence_t MessageBodyPart_sequence
[] = {
1653 { &hf_p22_message_parameters
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_MessageParameters
},
1654 { &hf_p22_message_data
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_MessageData
},
1655 { NULL
, 0, 0, 0, NULL
}
1659 dissect_p22_MessageBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1660 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1661 MessageBodyPart_sequence
, hf_index
, ett_p22_MessageBodyPart
);
1667 static const ber_sequence_t MixedModeBodyPart_sequence_of
[1] = {
1668 { &hf_p22_MixedModeBodyPart_item
, BER_CLASS_ANY
, 0, BER_FLAGS_NOOWNTAG
, dissect_p22_Interchange_Data_Element
},
1672 dissect_p22_MixedModeBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1673 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1674 MixedModeBodyPart_sequence_of
, hf_index
, ett_p22_MixedModeBodyPart
);
1682 dissect_p22_BilaterallyDefinedBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1683 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1692 dissect_p22_NationallyDefinedBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1693 /* XXX Not implemented yet */
1700 static const value_string p22_T_basic_vals
[] = {
1702 { 3, "g3-facsimile" },
1708 { 11, "mixed-mode" },
1709 { 14, "bilaterally-defined" },
1710 { 7, "nationally-defined" },
1714 static const ber_choice_t T_basic_choice
[] = {
1715 { 0, &hf_p22_ia5_text
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_IA5TextBodyPart
},
1716 { 3, &hf_p22_g3_facsimile
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_p22_G3FacsimileBodyPart
},
1717 { 4, &hf_p22_g4_class1
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_p22_G4Class1BodyPart
},
1718 { 5, &hf_p22_teletex
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_p22_TeletexBodyPart
},
1719 { 6, &hf_p22_videotex
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_p22_VideotexBodyPart
},
1720 { 8, &hf_p22_encrypted_bp
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_p22_EncryptedBodyPart
},
1721 { 9, &hf_p22_message
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_p22_MessageBodyPart
},
1722 { 11, &hf_p22_mixed_mode
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_p22_MixedModeBodyPart
},
1723 { 14, &hf_p22_bilaterally_defined
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_p22_BilaterallyDefinedBodyPart
},
1724 { 7, &hf_p22_nationally_defined
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_p22_NationallyDefinedBodyPart
},
1725 { 0, NULL
, 0, 0, 0, NULL
}
1729 dissect_p22_T_basic(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1730 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1731 T_basic_choice
, hf_index
, ett_p22_T_basic
,
1740 dissect_p22_INSTANCE_OF(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1741 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
1747 static const ber_sequence_t ExtendedBodyPart_sequence
[] = {
1748 { &hf_p22_extended_parameters
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INSTANCE_OF
},
1749 { &hf_p22_extended_data
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_p22_INSTANCE_OF
},
1750 { NULL
, 0, 0, 0, NULL
}
1754 dissect_p22_ExtendedBodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1755 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1756 ExtendedBodyPart_sequence
, hf_index
, ett_p22_ExtendedBodyPart
);
1762 static const value_string p22_BodyPart_vals
[] = {
1768 static const ber_choice_t BodyPart_choice
[] = {
1769 { 0, &hf_p22_basic
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_p22_T_basic
},
1770 { 1, &hf_p22_extended
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_p22_ExtendedBodyPart
},
1771 { 0, NULL
, 0, 0, 0, NULL
}
1775 dissect_p22_BodyPart(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1776 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1777 BodyPart_choice
, hf_index
, ett_p22_BodyPart
,
1784 static const ber_sequence_t Body_sequence_of
[1] = {
1785 { &hf_p22_Body_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_BodyPart
},
1789 dissect_p22_Body(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1790 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1791 Body_sequence_of
, hf_index
, ett_p22_Body
);
1797 static const ber_sequence_t IPM_sequence
[] = {
1798 { &hf_p22_heading
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_Heading
},
1799 { &hf_p22_body
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_Body
},
1800 { NULL
, 0, 0, 0, NULL
}
1804 dissect_p22_IPM(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1805 // IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM
1806 actx
->pinfo
->dissection_depth
+= 6;
1807 increment_dissection_depth(actx
->pinfo
);
1809 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, " Message");
1811 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1812 IPM_sequence
, hf_index
, ett_p22_IPM
);
1817 actx
->pinfo
->dissection_depth
-= 6;
1818 decrement_dissection_depth(actx
->pinfo
);
1825 dissect_p22_SubjectIPMField(bool 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_p22_IPMIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1834 dissect_p22_IPNOriginatorField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1835 offset
= dissect_p22_ORDescriptor(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1843 dissect_p22_IPMIntendedRecipientField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1844 offset
= dissect_p22_ORDescriptor(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1852 dissect_p22_ConversionEITsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1853 offset
= dissect_p1_EncodedInformationTypes(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1859 static const ber_sequence_t NotificationExtensionsField_set_of
[1] = {
1860 { &hf_p22_NotificationExtensionsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
1864 dissect_p22_NotificationExtensionsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1865 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1866 NotificationExtensionsField_set_of
, hf_index
, ett_p22_NotificationExtensionsField
);
1872 const value_string p22_NonReceiptReasonField_vals
[] = {
1873 { 0, "ipm-discarded" },
1874 { 1, "ipm-auto-forwarded" },
1880 dissect_p22_NonReceiptReasonField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1881 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1888 const value_string p22_DiscardReasonField_vals
[] = {
1889 { 0, "ipm-expired" },
1890 { 1, "ipm-obsoleted" },
1891 { 2, "user-subscription-terminated" },
1898 dissect_p22_DiscardReasonField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1899 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1908 dissect_p22_AutoForwardComment(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1909 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
1910 actx
, tree
, tvb
, offset
,
1911 0, ub_auto_forward_comment
, hf_index
, NULL
);
1919 dissect_p22_AutoForwardCommentField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1920 offset
= dissect_p22_AutoForwardComment(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1928 dissect_p22_ReturnedIPMField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1929 offset
= dissect_p22_IPM(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1935 static const ber_sequence_t NRNExtensionsField_set_of
[1] = {
1936 { &hf_p22_NRNExtensionsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
1940 dissect_p22_NRNExtensionsField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1941 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1942 NRNExtensionsField_set_of
, hf_index
, ett_p22_NRNExtensionsField
);
1948 static const ber_sequence_t NonReceiptFields_set
[] = {
1949 { &hf_p22_non_receipt_reason
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NonReceiptReasonField
},
1950 { &hf_p22_discard_reason
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_DiscardReasonField
},
1951 { &hf_p22_auto_forward_comment
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_AutoForwardCommentField
},
1952 { &hf_p22_returned_ipm
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ReturnedIPMField
},
1953 { &hf_p22_nrn_extensions
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_NRNExtensionsField
},
1954 { NULL
, 0, 0, 0, NULL
}
1958 dissect_p22_NonReceiptFields(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1959 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1960 NonReceiptFields_set
, hf_index
, ett_p22_NonReceiptFields
);
1968 dissect_p22_ReceiptTimeField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1969 offset
= dissect_p22_Time(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1975 static const value_string p22_AcknowledgmentModeField_vals
[] = {
1983 dissect_p22_AcknowledgmentModeField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1984 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1993 dissect_p22_SupplReceiptInfoField(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1994 offset
= dissect_p1_SupplementaryInformation(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2000 static const ber_sequence_t RNExtensionsField_set_of
[1] = {
2001 { &hf_p22_RNExtensionsField_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
2005 dissect_p22_RNExtensionsField(bool 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_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2007 RNExtensionsField_set_of
, hf_index
, ett_p22_RNExtensionsField
);
2013 static const ber_sequence_t ReceiptFields_set
[] = {
2014 { &hf_p22_receipt_time
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_ReceiptTimeField
},
2015 { &hf_p22_acknowledgment_mode
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_AcknowledgmentModeField
},
2016 { &hf_p22_suppl_receipt_info
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_SupplReceiptInfoField
},
2017 { &hf_p22_rn_extensions
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_RNExtensionsField
},
2018 { NULL
, 0, 0, 0, NULL
}
2022 dissect_p22_ReceiptFields(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2023 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2024 ReceiptFields_set
, hf_index
, ett_p22_ReceiptFields
);
2030 static const ber_sequence_t OtherNotificationTypeFields_set_of
[1] = {
2031 { &hf_p22_OtherNotificationTypeFields_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_IPMSExtension
},
2035 dissect_p22_OtherNotificationTypeFields(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2036 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2037 OtherNotificationTypeFields_set_of
, hf_index
, ett_p22_OtherNotificationTypeFields
);
2043 static const value_string p22_T_choice_vals
[] = {
2044 { 0, "non-receipt-fields" },
2045 { 1, "receipt-fields" },
2046 { 2, "other-notification-type-fields" },
2050 static const ber_choice_t T_choice_choice
[] = {
2051 { 0, &hf_p22_non_receipt_fields
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NonReceiptFields
},
2052 { 1, &hf_p22_receipt_fields
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_ReceiptFields
},
2053 { 2, &hf_p22_other_notification_type_fields
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_p22_OtherNotificationTypeFields
},
2054 { 0, NULL
, 0, 0, 0, NULL
}
2058 dissect_p22_T_choice(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2059 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2060 T_choice_choice
, hf_index
, ett_p22_T_choice
,
2067 static const ber_sequence_t IPN_set
[] = {
2068 { &hf_p22_subject_ipm
, BER_CLASS_APP
, 11, BER_FLAGS_NOOWNTAG
, dissect_p22_SubjectIPMField
},
2069 { &hf_p22_ipn_originator
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_IPNOriginatorField
},
2070 { &hf_p22_ipm_intended_recipient
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_IPMIntendedRecipientField
},
2071 { &hf_p22_conversion_eits
, BER_CLASS_APP
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_ConversionEITsField
},
2072 { &hf_p22_notification_extensions
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_NotificationExtensionsField
},
2073 { &hf_p22_choice
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_T_choice
},
2074 { NULL
, 0, 0, 0, NULL
}
2078 dissect_p22_IPN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2080 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, " Notification");
2082 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2083 IPN_set
, hf_index
, ett_p22_IPN
);
2091 const value_string p22_InformationObject_vals
[] = {
2097 static const ber_choice_t InformationObject_choice
[] = {
2098 { 0, &hf_p22_ipm
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_IPM
},
2099 { 1, &hf_p22_ipn
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_IPN
},
2100 { 0, NULL
, 0, 0, 0, NULL
}
2104 dissect_p22_InformationObject(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2105 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2106 InformationObject_choice
, hf_index
, ett_p22_InformationObject
,
2114 static const ber_sequence_t AbsenceAdvice_sequence
[] = {
2115 { &hf_p22_advice
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_BodyPart
},
2116 { &hf_p22_next_available
, BER_CLASS_UNI
, BER_UNI_TAG_UTCTime
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_Time
},
2117 { NULL
, 0, 0, 0, NULL
}
2121 dissect_p22_AbsenceAdvice(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2122 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2123 AbsenceAdvice_sequence
, hf_index
, ett_p22_AbsenceAdvice
);
2129 static const ber_sequence_t ChangeOfAddressAdvice_sequence
[] = {
2130 { &hf_p22_new_address
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_ORDescriptor
},
2131 { &hf_p22_effective_from
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_Time
},
2132 { NULL
, 0, 0, 0, NULL
}
2136 dissect_p22_ChangeOfAddressAdvice(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2137 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2138 ChangeOfAddressAdvice_sequence
, hf_index
, ett_p22_ChangeOfAddressAdvice
);
2146 dissect_p22_INTEGER_1_MAX(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2147 offset
= dissect_ber_constrained_integer64(implicit_tag
, actx
, tree
, tvb
, offset
,
2148 1U, NO_BOUND
, hf_index
, NULL
);
2156 dissect_p22_BodyPartNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2157 offset
= dissect_ber_constrained_integer64(implicit_tag
, actx
, tree
, tvb
, offset
,
2158 1U, NO_BOUND
, hf_index
, NULL
);
2164 static const ber_sequence_t T_stored_body_part_sequence
[] = {
2165 { &hf_p22_message_entry
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p7_SequenceNumber
},
2166 { &hf_p22_body_part_number
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartNumber
},
2167 { NULL
, 0, 0, 0, NULL
}
2171 dissect_p22_T_stored_body_part(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2172 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2173 T_stored_body_part_sequence
, hf_index
, ett_p22_T_stored_body_part
);
2179 static const value_string p22_BodyPartReference_vals
[] = {
2180 { 0, "stored-entry" },
2181 { 1, "stored-content" },
2182 { 2, "submitted-body-part" },
2183 { 3, "stored-body-part" },
2187 static const ber_choice_t BodyPartReference_choice
[] = {
2188 { 0, &hf_p22_stored_entry
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p7_SequenceNumber
},
2189 { 1, &hf_p22_stored_content
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p7_SequenceNumber
},
2190 { 2, &hf_p22_submitted_body_part
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER_1_MAX
},
2191 { 3, &hf_p22_stored_body_part
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_p22_T_stored_body_part
},
2192 { 0, NULL
, 0, 0, 0, NULL
}
2196 dissect_p22_BodyPartReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2197 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2198 BodyPartReference_choice
, hf_index
, ett_p22_BodyPartReference
,
2205 static const ber_sequence_t BodyPartReferences_sequence_of
[1] = {
2206 { &hf_p22_BodyPartReferences_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_BodyPartReference
},
2210 dissect_p22_BodyPartReferences(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2211 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2212 BodyPartReferences_sequence_of
, hf_index
, ett_p22_BodyPartReferences
);
2218 static const ber_sequence_t IPMAssemblyInstructions_set
[] = {
2219 { &hf_p22_assembly_instructions
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_BodyPartReferences
},
2220 { NULL
, 0, 0, 0, NULL
}
2224 dissect_p22_IPMAssemblyInstructions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2225 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2226 IPMAssemblyInstructions_set
, hf_index
, ett_p22_IPMAssemblyInstructions
);
2234 dissect_p22_IncompleteCopy(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2235 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2243 dissect_p22_Language(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2244 offset
= dissect_ber_constrained_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
2245 actx
, tree
, tvb
, offset
,
2246 2, 5, hf_index
, NULL
);
2252 static const ber_sequence_t Languages_set_of
[1] = {
2253 { &hf_p22_Languages_item
, BER_CLASS_UNI
, BER_UNI_TAG_PrintableString
, BER_FLAGS_NOOWNTAG
, dissect_p22_Language
},
2257 dissect_p22_Languages(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2258 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2259 Languages_set_of
, hf_index
, ett_p22_Languages
);
2265 static const value_string p22_AutoSubmitted_vals
[] = {
2266 { 0, "not-auto-submitted" },
2267 { 1, "auto-generated" },
2268 { 2, "auto-replied" },
2274 dissect_p22_AutoSubmitted(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2275 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2282 static const ber_sequence_t Signature_sequence
[] = {
2283 { &hf_p22_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
2284 { &hf_p22_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_BIT_STRING
},
2285 { NULL
, 0, 0, 0, NULL
}
2289 dissect_p22_Signature(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2290 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2291 Signature_sequence
, hf_index
, ett_p22_Signature
);
2299 dissect_p22_BodyPartSignature(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2300 offset
= dissect_p22_Signature(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2306 static const ber_sequence_t BodyPartSignatures_item_set
[] = {
2307 { &hf_p22_body_part_number
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartNumber
},
2308 { &hf_p22_body_part_signature
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartSignature
},
2309 { &hf_p22_originator_certificate_selector
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateAssertion
},
2310 { &hf_p22_originator_certificates
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_ExtendedCertificates
},
2311 { NULL
, 0, 0, 0, NULL
}
2315 dissect_p22_BodyPartSignatures_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2316 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2317 BodyPartSignatures_item_set
, hf_index
, ett_p22_BodyPartSignatures_item
);
2323 static const ber_sequence_t BodyPartSignatures_set_of
[1] = {
2324 { &hf_p22_BodyPartSignatures_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartSignatures_item
},
2328 dissect_p22_BodyPartSignatures(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2329 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2330 BodyPartSignatures_set_of
, hf_index
, ett_p22_BodyPartSignatures
);
2338 dissect_p22_NULL(bool 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_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2345 static const value_string p22_BodyPartSecurityLabel_vals
[] = {
2346 { 0, "body-part-unlabelled" },
2347 { 1, "body-part-security-label" },
2351 static const ber_choice_t BodyPartSecurityLabel_choice
[] = {
2352 { 0, &hf_p22_body_part_unlabelled
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
2353 { 1, &hf_p22_body_part_security_label
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p1_SecurityLabel
},
2354 { 0, NULL
, 0, 0, 0, NULL
}
2358 dissect_p22_BodyPartSecurityLabel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2359 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2360 BodyPartSecurityLabel_choice
, hf_index
, ett_p22_BodyPartSecurityLabel
,
2367 static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of
[1] = {
2368 { &hf_p22_body_part_security_labels_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_BodyPartSecurityLabel
},
2372 dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2373 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2374 SEQUENCE_OF_BodyPartSecurityLabel_sequence_of
, hf_index
, ett_p22_SEQUENCE_OF_BodyPartSecurityLabel
);
2380 static const ber_sequence_t IPMSecurityLabel_sequence
[] = {
2381 { &hf_p22_content_security_label
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p1_SecurityLabel
},
2382 { &hf_p22_heading_security_label
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_SecurityLabel
},
2383 { &hf_p22_body_part_security_labels
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel
},
2384 { NULL
, 0, 0, 0, NULL
}
2388 dissect_p22_IPMSecurityLabel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2389 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2390 IPMSecurityLabel_sequence
, hf_index
, ett_p22_IPMSecurityLabel
);
2398 dissect_p22_AuthorizationTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2399 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2407 dissect_p22_CirculationTime(bool 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_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2416 dissect_p22_CirculationSignatureAlgorithmIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2417 offset
= dissect_x509af_AlgorithmIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2423 static const ber_sequence_t CirculationSignatureData_sequence
[] = {
2424 { &hf_p22_circulation_signature_algorithm_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationSignatureAlgorithmIdentifier
},
2425 { &hf_p22_this_IPM
, BER_CLASS_APP
, 11, BER_FLAGS_NOOWNTAG
, dissect_p22_ThisIPMField
},
2426 { &hf_p22_timestamp
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationTime
},
2427 { NULL
, 0, 0, 0, NULL
}
2431 dissect_p22_CirculationSignatureData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2432 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2433 CirculationSignatureData_sequence
, hf_index
, ett_p22_CirculationSignatureData
);
2439 static const ber_sequence_t CirculationSignature_sequence
[] = {
2440 { &hf_p22_circulation_signature_data
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationSignatureData
},
2441 { &hf_p22_algorithm_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
2442 { &hf_p22_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_BIT_STRING
},
2443 { NULL
, 0, 0, 0, NULL
}
2447 dissect_p22_CirculationSignature(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2449 CirculationSignature_sequence
, hf_index
, ett_p22_CirculationSignature
);
2455 static const value_string p22_Checkmark_vals
[] = {
2457 { 1, "timestamped" },
2462 static const ber_choice_t Checkmark_choice
[] = {
2463 { 0, &hf_p22_simple
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_p22_NULL
},
2464 { 1, &hf_p22_timestamped
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationTime
},
2465 { 2, &hf_p22_signed
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationSignature
},
2466 { 0, NULL
, 0, 0, 0, NULL
}
2470 dissect_p22_Checkmark(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2471 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2472 Checkmark_choice
, hf_index
, ett_p22_Checkmark
,
2479 static const ber_sequence_t CirculationMember_set
[] = {
2480 { &hf_p22_circulation_recipient
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_RecipientSpecifier
},
2481 { &hf_p22_checked
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Checkmark
},
2482 { NULL
, 0, 0, 0, NULL
}
2486 dissect_p22_CirculationMember(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2487 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2488 CirculationMember_set
, hf_index
, ett_p22_CirculationMember
);
2494 static const ber_sequence_t CirculationList_sequence_of
[1] = {
2495 { &hf_p22_CirculationList_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_CirculationMember
},
2499 dissect_p22_CirculationList(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2500 offset
= dissect_ber_constrained_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2501 2, ub_circulation_list_members
, CirculationList_sequence_of
, hf_index
, ett_p22_CirculationList
);
2509 dissect_p22_CirculationListIndicator(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2510 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
2518 dissect_p22_OBJECT_IDENTIFIER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2519 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2527 dissect_p22_AlphaCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2528 offset
= dissect_p1_UniversalOrBMPString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2534 static const ber_sequence_t DistributionCode_sequence
[] = {
2535 { &hf_p22_oid_code
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_OBJECT_IDENTIFIER
},
2536 { &hf_p22_alphanumeric_code
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_AlphaCode
},
2537 { &hf_p22_or_descriptor
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ORDescriptor
},
2538 { NULL
, 0, 0, 0, NULL
}
2542 dissect_p22_DistributionCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2543 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2544 DistributionCode_sequence
, hf_index
, ett_p22_DistributionCode
);
2550 static const ber_sequence_t DistributionCodes_sequence_of
[1] = {
2551 { &hf_p22_DistributionCodes_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_DistributionCode
},
2555 dissect_p22_DistributionCodes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2556 offset
= dissect_ber_constrained_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2557 1, ub_distribution_codes
, DistributionCodes_sequence_of
, hf_index
, ett_p22_DistributionCodes
);
2565 dissect_p22_ExtendedSubject(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2566 offset
= dissect_p1_UniversalOrBMPString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2574 dissect_p22_DescriptionString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2575 offset
= dissect_p1_UniversalOrBMPString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2581 static const ber_sequence_t InformationCategory_sequence
[] = {
2582 { &hf_p22_reference
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
2583 { &hf_p22_description
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_DescriptionString
},
2584 { NULL
, 0, 0, 0, NULL
}
2588 dissect_p22_InformationCategory(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2589 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2590 InformationCategory_sequence
, hf_index
, ett_p22_InformationCategory
);
2596 static const ber_sequence_t InformationCategories_sequence_of
[1] = {
2597 { &hf_p22_InformationCategories_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_InformationCategory
},
2601 dissect_p22_InformationCategories(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2602 offset
= dissect_ber_constrained_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2603 1, ub_information_categories
, InformationCategories_sequence_of
, hf_index
, ett_p22_InformationCategories
);
2611 dissect_p22_ManualHandlingInstruction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2612 offset
= dissect_p1_UniversalOrBMPString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2618 static const ber_sequence_t ManualHandlingInstructions_sequence_of
[1] = {
2619 { &hf_p22_ManualHandlingInstructions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_ManualHandlingInstruction
},
2623 dissect_p22_ManualHandlingInstructions(bool 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_ber_constrained_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2625 1, ub_manual_handling_instructions
, ManualHandlingInstructions_sequence_of
, hf_index
, ett_p22_ManualHandlingInstructions
);
2633 dissect_p22_OriginatorsReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2634 offset
= dissect_p1_UniversalOrBMPString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2642 dissect_p22_PrecedencePolicyIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2643 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2651 dissect_p22_Precedence(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2652 offset
= dissect_ber_constrained_integer(implicit_tag
, actx
, tree
, tvb
, offset
,
2653 0U, ub_precedence
, hf_index
, NULL
);
2661 dissect_p22_CharacterSetRegistration(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2663 offset
= dissect_ber_constrained_integer(implicit_tag
, actx
, tree
, tvb
, offset
,
2664 1U, 32767U, hf_index
, &crs
);
2667 if(actx
->created_item
)
2668 proto_item_append_text(actx
->created_item
, " (%s)", val_to_str_const(crs
, charsetreg_vals
, "unknown"));
2675 static const ber_sequence_t GeneralTextParameters_set_of
[1] = {
2676 { &hf_p22_GeneralTextParameters_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p22_CharacterSetRegistration
},
2680 dissect_p22_GeneralTextParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2681 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2682 GeneralTextParameters_set_of
, hf_index
, ett_p22_GeneralTextParameters
);
2690 dissect_p22_GeneralTextData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2691 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GeneralString
,
2692 actx
, tree
, tvb
, offset
, hf_index
,
2699 static const value_string p22_Pathname_Attribute_vals
[] = {
2700 { 0, "incomplete-pathname" },
2701 { 23, "complete-pathname" },
2705 static const ber_choice_t Pathname_Attribute_choice
[] = {
2706 { 0, &hf_p22_incomplete_pathname
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_ftam_Pathname
},
2707 { 23, &hf_p22_complete_pathname
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_ftam_Pathname
},
2708 { 0, NULL
, 0, 0, 0, NULL
}
2712 dissect_p22_Pathname_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2713 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2714 Pathname_Attribute_choice
, hf_index
, ett_p22_Pathname_Attribute
,
2723 dissect_p22_GraphicString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2724 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GraphicString
,
2725 actx
, tree
, tvb
, offset
, hf_index
,
2732 static const ber_sequence_t PathnameandVersion_sequence
[] = {
2733 { &hf_p22_pathname
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Pathname_Attribute
},
2734 { &hf_p22_file_version
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_GraphicString
},
2735 { NULL
, 0, 0, 0, NULL
}
2739 dissect_p22_PathnameandVersion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2740 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2741 PathnameandVersion_sequence
, hf_index
, ett_p22_PathnameandVersion
);
2749 dissect_p22_OCTET_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2750 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2759 dissect_p22_PrintableString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2760 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
2761 actx
, tree
, tvb
, offset
, hf_index
,
2768 static const ber_sequence_t MessageReference_set
[] = {
2769 { &hf_p22_user
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_ORName
},
2770 { &hf_p22_user_relative_identifier_ref
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_PrintableString
},
2771 { NULL
, 0, 0, 0, NULL
}
2775 dissect_p22_MessageReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2776 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
2777 MessageReference_set
, hf_index
, ett_p22_MessageReference
);
2783 static const ber_sequence_t CrossReference_sequence
[] = {
2784 { &hf_p22_application_cross_reference
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_OCTET_STRING
},
2785 { &hf_p22_message_reference
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_MessageReference
},
2786 { &hf_p22_body_part_reference
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
2787 { NULL
, 0, 0, 0, NULL
}
2791 dissect_p22_CrossReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2792 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2793 CrossReference_sequence
, hf_index
, ett_p22_CrossReference
);
2799 static const value_string p22_FileIdentifier_vals
[] = {
2800 { 0, "pathname-and-version" },
2801 { 1, "cross-reference" },
2805 static const ber_choice_t FileIdentifier_choice
[] = {
2806 { 0, &hf_p22_pathname_and_version
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_PathnameandVersion
},
2807 { 1, &hf_p22_cross_reference
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_CrossReference
},
2808 { 0, NULL
, 0, 0, 0, NULL
}
2812 dissect_p22_FileIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2813 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2814 FileIdentifier_choice
, hf_index
, ett_p22_FileIdentifier
,
2821 static const value_string p22_ExplicitRelationship_vals
[] = {
2822 { 0, "unspecified" },
2824 { 2, "replacement" },
2831 dissect_p22_ExplicitRelationship(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2832 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2839 static const value_string p22_Relationship_vals
[] = {
2840 { 0, "explicit-relationship" },
2841 { 1, "descriptive-relationship" },
2845 static const ber_choice_t Relationship_choice
[] = {
2846 { 0, &hf_p22_explicit_relationship
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_ExplicitRelationship
},
2847 { 1, &hf_p22_descriptive_relationship
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_GraphicString
},
2848 { 0, NULL
, 0, 0, 0, NULL
}
2852 dissect_p22_Relationship(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2853 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2854 Relationship_choice
, hf_index
, ett_p22_Relationship
,
2861 static const ber_sequence_t RelatedStoredFile_item_sequence
[] = {
2862 { &hf_p22_file_identifier
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_FileIdentifier
},
2863 { &hf_p22_relationship
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Relationship
},
2864 { NULL
, 0, 0, 0, NULL
}
2868 dissect_p22_RelatedStoredFile_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2869 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2870 RelatedStoredFile_item_sequence
, hf_index
, ett_p22_RelatedStoredFile_item
);
2876 static const ber_sequence_t RelatedStoredFile_set_of
[1] = {
2877 { &hf_p22_RelatedStoredFile_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_RelatedStoredFile_item
},
2881 dissect_p22_RelatedStoredFile(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2882 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2883 RelatedStoredFile_set_of
, hf_index
, ett_p22_RelatedStoredFile
);
2891 dissect_p22_Document_Type_Name(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2892 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2900 dissect_p22_T_parameter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2901 /* XXX: Not implemented yet */
2908 static const ber_sequence_t T_document_type_sequence
[] = {
2909 { &hf_p22_document_type_name
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_p22_Document_Type_Name
},
2910 { &hf_p22_parameter
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_T_parameter
},
2911 { NULL
, 0, 0, 0, NULL
}
2915 dissect_p22_T_document_type(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2916 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2917 T_document_type_sequence
, hf_index
, ett_p22_T_document_type
);
2925 dissect_p22_Constraint_Set_Name(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2926 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2934 dissect_p22_Abstract_Syntax_Name(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2935 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2941 static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence
[] = {
2942 { &hf_p22_constraint_set_name
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_p22_Constraint_Set_Name
},
2943 { &hf_p22_abstract_syntax_name
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_p22_Abstract_Syntax_Name
},
2944 { NULL
, 0, 0, 0, NULL
}
2948 dissect_p22_T_constraint_set_and_abstract_syntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2949 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2950 T_constraint_set_and_abstract_syntax_sequence
, hf_index
, ett_p22_T_constraint_set_and_abstract_syntax
);
2956 static const value_string p22_Contents_Type_Attribute_vals
[] = {
2957 { 0, "document-type" },
2958 { 1, "constraint-set-and-abstract-syntax" },
2962 static const ber_choice_t Contents_Type_Attribute_choice
[] = {
2963 { 0, &hf_p22_document_type
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_T_document_type
},
2964 { 1, &hf_p22_constraint_set_and_abstract_syntax
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_T_constraint_set_and_abstract_syntax
},
2965 { 0, NULL
, 0, 0, 0, NULL
}
2969 dissect_p22_Contents_Type_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2970 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2971 Contents_Type_Attribute_choice
, hf_index
, ett_p22_Contents_Type_Attribute
,
2980 dissect_p22_ContentsTypeParameter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2981 offset
= dissect_p22_Contents_Type_Attribute(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2987 static const ber_sequence_t T_descriptive_identifier_sequence_of
[1] = {
2988 { &hf_p22_descriptive_identifier_item
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_p22_GraphicString
},
2992 dissect_p22_T_descriptive_identifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2993 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2994 T_descriptive_identifier_sequence_of
, hf_index
, ett_p22_T_descriptive_identifier
);
3000 static const value_string p22_GeneralIdentifier_vals
[] = {
3001 { 0, "registered-identifier" },
3002 { 1, "descriptive-identifier" },
3006 static const ber_choice_t GeneralIdentifier_choice
[] = {
3007 { 0, &hf_p22_registered_identifier
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3008 { 1, &hf_p22_descriptive_identifier
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_T_descriptive_identifier
},
3009 { 0, NULL
, 0, 0, 0, NULL
}
3013 dissect_p22_GeneralIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3014 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3015 GeneralIdentifier_choice
, hf_index
, ett_p22_GeneralIdentifier
,
3022 static const ber_sequence_t T_user_visible_string_sequence_of
[1] = {
3023 { &hf_p22_user_visible_string_item
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_p22_GraphicString
},
3027 dissect_p22_T_user_visible_string(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3028 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3029 T_user_visible_string_sequence_of
, hf_index
, ett_p22_T_user_visible_string
);
3035 static const ber_sequence_t EnvironmentParameter_sequence
[] = {
3036 { &hf_p22_application_reference
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_GeneralIdentifier
},
3037 { &hf_p22_machine
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_GeneralIdentifier
},
3038 { &hf_p22_operating_system
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3039 { &hf_p22_user_visible_string
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_T_user_visible_string
},
3040 { NULL
, 0, 0, 0, NULL
}
3044 dissect_p22_EnvironmentParameter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3045 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3046 EnvironmentParameter_sequence
, hf_index
, ett_p22_EnvironmentParameter
);
3054 dissect_p22_T_compression_algorithm_id(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3055 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &actx
->external
.direct_reference
);
3064 dissect_p22_T_compression_algorithm_param(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3065 /* XXX: Not implemented yet */
3072 static const ber_sequence_t CompressionParameter_sequence
[] = {
3073 { &hf_p22_compression_algorithm_id
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_T_compression_algorithm_id
},
3074 { &hf_p22_compression_algorithm_param
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_T_compression_algorithm_param
},
3075 { NULL
, 0, 0, 0, NULL
}
3079 dissect_p22_CompressionParameter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3080 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3081 CompressionParameter_sequence
, hf_index
, ett_p22_CompressionParameter
);
3089 dissect_p22_Account(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3090 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GraphicString
,
3091 actx
, tree
, tvb
, offset
, hf_index
,
3098 static const value_string p22_Account_Attribute_vals
[] = {
3099 { 0, "no-value-available" },
3100 { 1, "actual-values" },
3104 static const ber_choice_t Account_Attribute_choice
[] = {
3105 { 0, &hf_p22_no_value_available
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
3106 { 1, &hf_p22_account_actual_values
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_p22_Account
},
3107 { 0, NULL
, 0, 0, 0, NULL
}
3111 dissect_p22_Account_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3112 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3113 Account_Attribute_choice
, hf_index
, ett_p22_Account_Attribute
,
3122 dissect_p22_User_Identity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3123 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GraphicString
,
3124 actx
, tree
, tvb
, offset
, hf_index
,
3131 static const value_string p22_User_Identity_Attribute_vals
[] = {
3132 { 0, "no-value-available" },
3133 { 1, "actual-values" },
3137 static const ber_choice_t User_Identity_Attribute_choice
[] = {
3138 { 0, &hf_p22_no_value_available
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
3139 { 1, &hf_p22_identity_actual_values
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_p22_User_Identity
},
3140 { 0, NULL
, 0, 0, 0, NULL
}
3144 dissect_p22_User_Identity_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3145 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3146 User_Identity_Attribute_choice
, hf_index
, ett_p22_User_Identity_Attribute
,
3153 static int * const Access_Request_bits
[] = {
3154 &hf_p22_Access_Request_read
,
3155 &hf_p22_Access_Request_insert
,
3156 &hf_p22_Access_Request_replace
,
3157 &hf_p22_Access_Request_extend
,
3158 &hf_p22_Access_Request_erase
,
3159 &hf_p22_Access_Request_read_attribute
,
3160 &hf_p22_Access_Request_change_attribute
,
3161 &hf_p22_Access_Request_delete_object
,
3166 dissect_p22_Access_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3167 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
3168 Access_Request_bits
, 8, hf_index
, ett_p22_Access_Request
,
3175 static const value_string p22_Password_vals
[] = {
3176 { 0, "graphic-string" },
3177 { 1, "octet-string" },
3181 static const ber_choice_t Password_choice
[] = {
3182 { 0, &hf_p22_graphic_string
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_p22_GraphicString
},
3183 { 1, &hf_p22_octet_string
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_OCTET_STRING
},
3184 { 0, NULL
, 0, 0, 0, NULL
}
3188 dissect_p22_Password(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3189 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3190 Password_choice
, hf_index
, ett_p22_Password
,
3197 static const ber_sequence_t Pass_Passwords_sequence_of
[1] = {
3198 { &hf_p22_Pass_Passwords_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3202 dissect_p22_Pass_Passwords(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3203 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3204 Pass_Passwords_sequence_of
, hf_index
, ett_p22_Pass_Passwords
);
3210 static const ber_sequence_t Access_Passwords_sequence
[] = {
3211 { &hf_p22_read_password
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3212 { &hf_p22_insert_password
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3213 { &hf_p22_replace_password
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3214 { &hf_p22_extend_password
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3215 { &hf_p22_erase_password
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3216 { &hf_p22_read_attribute_password
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3217 { &hf_p22_change_attribute_password
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3218 { &hf_p22_delete_password
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3219 { &hf_p22_pass_passwords
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_p22_Pass_Passwords
},
3220 { &hf_p22_link_password
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Password
},
3221 { NULL
, 0, 0, 0, NULL
}
3225 dissect_p22_Access_Passwords(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3226 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3227 Access_Passwords_sequence
, hf_index
, ett_p22_Access_Passwords
);
3233 static const ber_sequence_t Application_Entity_Title_sequence
[] = {
3234 { &hf_p22_ap_title
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_acse_AP_title
},
3235 { &hf_p22_ae_qualifier
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_acse_AE_qualifier
},
3236 { NULL
, 0, 0, 0, NULL
}
3240 dissect_p22_Application_Entity_Title(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3241 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3242 Application_Entity_Title_sequence
, hf_index
, ett_p22_Application_Entity_Title
);
3248 static const ber_sequence_t Access_Control_Element_sequence
[] = {
3249 { &hf_p22_action_list
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_Access_Request
},
3250 { &hf_p22_concurrency_access
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Concurrency_Access
},
3251 { &hf_p22_identity
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_User_Identity
},
3252 { &hf_p22_passwords
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_Access_Passwords
},
3253 { &hf_p22_location
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_Application_Entity_Title
},
3254 { NULL
, 0, 0, 0, NULL
}
3258 dissect_p22_Access_Control_Element(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3259 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3260 Access_Control_Element_sequence
, hf_index
, ett_p22_Access_Control_Element
);
3266 static const ber_sequence_t SET_OF_Access_Control_Element_set_of
[1] = {
3267 { &hf_p22_actual_values_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p22_Access_Control_Element
},
3271 dissect_p22_SET_OF_Access_Control_Element(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3272 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3273 SET_OF_Access_Control_Element_set_of
, hf_index
, ett_p22_SET_OF_Access_Control_Element
);
3279 static const value_string p22_Access_Control_Attribute_vals
[] = {
3280 { 0, "no-value-available" },
3281 { 1, "actual-values" },
3285 static const ber_choice_t Access_Control_Attribute_choice
[] = {
3286 { 0, &hf_p22_no_value_available
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
3287 { 1, &hf_p22_actual_values
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_SET_OF_Access_Control_Element
},
3288 { 0, NULL
, 0, 0, 0, NULL
}
3292 dissect_p22_Access_Control_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3293 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3294 Access_Control_Attribute_choice
, hf_index
, ett_p22_Access_Control_Attribute
,
3301 static const ber_sequence_t FileAttributes_sequence
[] = {
3302 { &hf_p22_pathname
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Pathname_Attribute
},
3303 { &hf_p22_permitted_actions
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Permitted_Actions_Attribute
},
3304 { &hf_p22_storage_account
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Account_Attribute
},
3305 { &hf_p22_date_and_time_of_creation
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Date_and_Time_Attribute
},
3306 { &hf_p22_date_and_time_of_last_modification
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Date_and_Time_Attribute
},
3307 { &hf_p22_date_and_time_of_last_read_access
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Date_and_Time_Attribute
},
3308 { &hf_p22_date_and_time_of_last_attribute_modification
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Date_and_Time_Attribute
},
3309 { &hf_p22_identity_of_creator
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_User_Identity_Attribute
},
3310 { &hf_p22_identity_of_last_modifier
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_User_Identity_Attribute
},
3311 { &hf_p22_identity_of_last_reader
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_User_Identity_Attribute
},
3312 { &hf_p22_identity_of_last_attribute_modifier
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_User_Identity_Attribute
},
3313 { &hf_p22_object_availability
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Object_Availability_Attribute
},
3314 { &hf_p22_object_size
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Object_Size_Attribute
},
3315 { &hf_p22_future_object_size
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Object_Size_Attribute
},
3316 { &hf_p22_access_control
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_Access_Control_Attribute
},
3317 { &hf_p22_legal_qualifications
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Legal_Qualification_Attribute
},
3318 { &hf_p22_private_use
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Private_Use_Attribute
},
3319 { &hf_p22_attribute_extensions
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_ftam_Attribute_Extensions
},
3320 { NULL
, 0, 0, 0, NULL
}
3324 dissect_p22_FileAttributes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3325 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3326 FileAttributes_sequence
, hf_index
, ett_p22_FileAttributes
);
3332 static const ber_sequence_t FileTransferParameters_sequence
[] = {
3333 { &hf_p22_related_stored_file
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_RelatedStoredFile
},
3334 { &hf_p22_contents_type
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_ContentsTypeParameter
},
3335 { &hf_p22_environment
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_EnvironmentParameter
},
3336 { &hf_p22_compression
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_CompressionParameter
},
3337 { &hf_p22_file_attributes
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_FileAttributes
},
3338 { &hf_p22_extensions
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_ExtensionsField
},
3339 { NULL
, 0, 0, 0, NULL
}
3343 dissect_p22_FileTransferParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3344 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3345 FileTransferParameters_sequence
, hf_index
, ett_p22_FileTransferParameters
);
3353 dissect_p22_EXTERNAL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3354 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
3360 static const ber_sequence_t FileTransferData_sequence_of
[1] = {
3361 { &hf_p22_FileTransferData_item
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_p22_EXTERNAL
},
3365 dissect_p22_FileTransferData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3366 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3367 FileTransferData_sequence_of
, hf_index
, ett_p22_FileTransferData
);
3375 dissect_p22_IA5String(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3376 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
3377 actx
, tree
, tvb
, offset
, hf_index
,
3384 static const ber_sequence_t VoiceParameters_sequence
[] = {
3385 { &hf_p22_voice_message_duration
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
3386 { &hf_p22_voice_encoding_type
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3387 { &hf_p22_supplementary_information
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_IA5String
},
3388 { NULL
, 0, 0, 0, NULL
}
3392 dissect_p22_VoiceParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3393 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3394 VoiceParameters_sequence
, hf_index
, ett_p22_VoiceParameters
);
3402 dissect_p22_VoiceData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3403 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3410 static const ber_sequence_t SubmissionProof_set
[] = {
3411 { &hf_p22_proof_of_submission
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p1_ProofOfSubmission
},
3412 { &hf_p22_originating_MTA_certificate
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p1_OriginatingMTACertificate
},
3413 { &hf_p22_message_submission_envelope
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p1_MessageSubmissionEnvelope
},
3414 { NULL
, 0, 0, 0, NULL
}
3418 dissect_p22_SubmissionProof(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3419 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3420 SubmissionProof_set
, hf_index
, ett_p22_SubmissionProof
);
3426 static const ber_sequence_t ForwardedContentParameters_set
[] = {
3427 { &hf_p22_delivery_time
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_MessageDeliveryTime
},
3428 { &hf_p22_delivery_envelope
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_OtherMessageDeliveryFields
},
3429 { &hf_p22_mts_identifier
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_MessageDeliveryIdentifier
},
3430 { &hf_p22_submission_proof
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_SubmissionProof
},
3431 { NULL
, 0, 0, 0, NULL
}
3435 dissect_p22_ForwardedContentParameters(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3436 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3437 ForwardedContentParameters_set
, hf_index
, ett_p22_ForwardedContentParameters
);
3443 static const value_string p22_IPMEntryType_vals
[] = {
3453 dissect_p22_IPMEntryType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3454 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3461 static const ber_sequence_t MessageBodyPartSynopsis_sequence
[] = {
3462 { &hf_p22_number
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p7_SequenceNumber
},
3463 { &hf_p22_synopsis
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_IPMSynopsis
},
3464 { NULL
, 0, 0, 0, NULL
}
3468 dissect_p22_MessageBodyPartSynopsis(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3469 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3470 MessageBodyPartSynopsis_sequence
, hf_index
, ett_p22_MessageBodyPartSynopsis
);
3476 static const ber_sequence_t NonMessageBodyPartSynopsis_sequence
[] = {
3477 { &hf_p22_bp_type
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3478 { &hf_p22_bp_parameters
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_INSTANCE_OF
},
3479 { &hf_p22_size
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
3480 { &hf_p22_processed
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_BOOLEAN
},
3481 { NULL
, 0, 0, 0, NULL
}
3485 dissect_p22_NonMessageBodyPartSynopsis(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3486 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3487 NonMessageBodyPartSynopsis_sequence
, hf_index
, ett_p22_NonMessageBodyPartSynopsis
);
3493 static const value_string p22_BodyPartSynopsis_vals
[] = {
3495 { 1, "non-message" },
3499 static const ber_choice_t BodyPartSynopsis_choice
[] = {
3500 { 0, &hf_p22_message_synopsis
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_MessageBodyPartSynopsis
},
3501 { 1, &hf_p22_non_message
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_NonMessageBodyPartSynopsis
},
3502 { 0, NULL
, 0, 0, 0, NULL
}
3506 dissect_p22_BodyPartSynopsis(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3507 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3508 BodyPartSynopsis_choice
, hf_index
, ett_p22_BodyPartSynopsis
,
3515 static const ber_sequence_t IPMSynopsis_sequence_of
[1] = {
3516 { &hf_p22_IPMSynopsis_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_BodyPartSynopsis
},
3520 dissect_p22_IPMSynopsis(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3521 // IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis
3522 actx
->pinfo
->dissection_depth
+= 3;
3523 increment_dissection_depth(actx
->pinfo
);
3524 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3525 IPMSynopsis_sequence_of
, hf_index
, ett_p22_IPMSynopsis
);
3527 actx
->pinfo
->dissection_depth
-= 3;
3528 decrement_dissection_depth(actx
->pinfo
);
3533 static const ber_sequence_t BodyPartDescriptor_sequence
[] = {
3534 { &hf_p22_data
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3535 { &hf_p22_parameters
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OBJECT_IDENTIFIER
},
3536 { &hf_p22_this_child_entry
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p7_SequenceNumber
},
3537 { &hf_p22_position
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
3538 { &hf_p22_size
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_p22_INTEGER
},
3539 { &hf_p22_processed
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_BOOLEAN
},
3540 { NULL
, 0, 0, 0, NULL
}
3544 dissect_p22_BodyPartDescriptor(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3545 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3546 BodyPartDescriptor_sequence
, hf_index
, ett_p22_BodyPartDescriptor
);
3552 static const ber_sequence_t BodyPartSignatureVerification_item_set
[] = {
3553 { &hf_p22_body_part_sequence_number
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_BodyPartNumber
},
3554 { &hf_p22_body_part_signature_status
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p7_SignatureStatus
},
3555 { NULL
, 0, 0, 0, NULL
}
3559 dissect_p22_BodyPartSignatureVerification_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3560 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3561 BodyPartSignatureVerification_item_set
, hf_index
, ett_p22_BodyPartSignatureVerification_item
);
3567 static const ber_sequence_t BodyPartSignatureVerification_set_of
[1] = {
3568 { &hf_p22_BodyPartSignatureVerification_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartSignatureVerification_item
},
3572 dissect_p22_BodyPartSignatureVerification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3573 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3574 BodyPartSignatureVerification_set_of
, hf_index
, ett_p22_BodyPartSignatureVerification
);
3580 static const ber_sequence_t SET_OF_SequenceNumber_set_of
[1] = {
3581 { &hf_p22_stored_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p7_SequenceNumber
},
3585 dissect_p22_SET_OF_SequenceNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3586 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3587 SET_OF_SequenceNumber_set_of
, hf_index
, ett_p22_SET_OF_SequenceNumber
);
3593 static const value_string p22_IPMLocation_vals
[] = {
3599 static const ber_choice_t IPMLocation_choice
[] = {
3600 { 0, &hf_p22_stored
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_SET_OF_SequenceNumber
},
3601 { 1, &hf_p22_absent
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_p22_NULL
},
3602 { 0, NULL
, 0, 0, 0, NULL
}
3606 dissect_p22_IPMLocation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3607 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3608 IPMLocation_choice
, hf_index
, ett_p22_IPMLocation
,
3615 static const value_string p22_DeliveredReplyStatus_vals
[] = {
3616 { 0, "no-reply-requested" },
3617 { 1, "reply-outstanding" },
3618 { 2, "reply-received" },
3624 dissect_p22_DeliveredReplyStatus(bool 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_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3632 static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of
[1] = {
3633 { &hf_p22_received_replies_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p7_SequenceNumber
},
3637 dissect_p22_SEQUENCE_OF_SequenceNumber(bool 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_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3639 SEQUENCE_OF_SequenceNumber_sequence_of
, hf_index
, ett_p22_SEQUENCE_OF_SequenceNumber
);
3645 static const value_string p22_CorrelatedDeliveredReplies_vals
[] = {
3646 { 0, "no-reply-received" },
3647 { 1, "received-replies" },
3651 static const ber_choice_t CorrelatedDeliveredReplies_choice
[] = {
3652 { 0, &hf_p22_no_reply_received
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
3653 { 1, &hf_p22_received_replies
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_SEQUENCE_OF_SequenceNumber
},
3654 { 0, NULL
, 0, 0, 0, NULL
}
3658 dissect_p22_CorrelatedDeliveredReplies(bool 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 CorrelatedDeliveredReplies_choice
, hf_index
, ett_p22_CorrelatedDeliveredReplies
,
3667 static const value_string p22_DeliveredIPNStatus_vals
[] = {
3668 { 0, "no-ipn-requested" },
3669 { 3, "an-requested" },
3670 { 5, "nrn-requested" },
3671 { 10, "rn-requested" },
3672 { 13, "an-received" },
3673 { 15, "ipm-auto-forwarded" },
3674 { 20, "ipm-discarded" },
3675 { 25, "rn-received" },
3681 dissect_p22_DeliveredIPNStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3682 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3689 static const value_string p22_CorrelatedDeliveredIPNs_vals
[] = {
3690 { 0, "no-ipn-received" },
3691 { 1, "ipns-received" },
3695 static const ber_choice_t CorrelatedDeliveredIPNs_choice
[] = {
3696 { 0, &hf_p22_no_ipn_received
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_NULL
},
3697 { 1, &hf_p22_ipns_received
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_p22_SEQUENCE_OF_SequenceNumber
},
3698 { 0, NULL
, 0, 0, 0, NULL
}
3702 dissect_p22_CorrelatedDeliveredIPNs(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3703 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3704 CorrelatedDeliveredIPNs_choice
, hf_index
, ett_p22_CorrelatedDeliveredIPNs
,
3711 static const value_string p22_SubmittedReplyStatus_vals
[] = {
3712 { 0, "no-reply-requested" },
3713 { 1, "no-reply-intended" },
3714 { 2, "reply-pending" },
3715 { 3, "reply-sent" },
3721 dissect_p22_SubmittedReplyStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3722 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3729 static const value_string p22_SubmittedIPNStatus_vals
[] = {
3730 { 0, "no-ipn-requested" },
3731 { 5, "nrn-requested" },
3732 { 10, "nrn-with-ipm-return-requested" },
3733 { 15, "rn-requested" },
3734 { 20, "rn-with-ipm-return-requested" },
3735 { 25, "ipm-auto-forwarded" },
3736 { 30, "ipm-discarded" },
3743 dissect_p22_SubmittedIPNStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3744 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3751 static const value_string p22_RecipientCategory_vals
[] = {
3752 { 0, "primary-recipient" },
3753 { 1, "copy-recipient" },
3754 { 2, "blind-copy-recipient" },
3755 { 3, "category-unknown" },
3756 { 4, "circulation-list" },
3762 dissect_p22_RecipientCategory(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3763 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3770 static int * const RecipientSecurityRequest_bits
[] = {
3771 &hf_p22_RecipientSecurityRequest_content_non_repudiation
,
3772 &hf_p22_RecipientSecurityRequest_content_proof
,
3773 &hf_p22_RecipientSecurityRequest_ipn_non_repudiation
,
3774 &hf_p22_RecipientSecurityRequest_ipn_proof
,
3779 dissect_p22_RecipientSecurityRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3780 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
3781 RecipientSecurityRequest_bits
, 4, hf_index
, ett_p22_RecipientSecurityRequest
,
3790 dissect_p22_OriginalContent(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3791 offset
= dissect_p1_Content(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3799 dissect_p22_OriginalContentIntegrityCheck(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3800 offset
= dissect_p1_ContentIntegrityCheck(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3808 dissect_p22_OriginalMessageOriginAuthenticationCheck(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3809 offset
= dissect_p1_MessageOriginAuthenticationCheck(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3817 dissect_p22_OriginalMessageToken(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3818 offset
= dissect_p1_MessageToken(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3824 static const ber_sequence_t T_original_security_arguments_set
[] = {
3825 { &hf_p22_original_content_integrity_check
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OriginalContentIntegrityCheck
},
3826 { &hf_p22_original_message_origin_authentication_check
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OriginalMessageOriginAuthenticationCheck
},
3827 { &hf_p22_original_message_token
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p22_OriginalMessageToken
},
3828 { NULL
, 0, 0, 0, NULL
}
3832 dissect_p22_T_original_security_arguments(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3833 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3834 T_original_security_arguments_set
, hf_index
, ett_p22_T_original_security_arguments
);
3840 static const value_string p22_T_content_or_arguments_vals
[] = {
3841 { 0, "original-content" },
3842 { 1, "original-security-arguments" },
3846 static const ber_choice_t T_content_or_arguments_choice
[] = {
3847 { 0, &hf_p22_original_content
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_OriginalContent
},
3848 { 1, &hf_p22_original_security_arguments
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_T_original_security_arguments
},
3849 { 0, NULL
, 0, 0, 0, NULL
}
3853 dissect_p22_T_content_or_arguments(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3854 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3855 T_content_or_arguments_choice
, hf_index
, ett_p22_T_content_or_arguments
,
3862 static const value_string p22_SecurityDiagnosticCode_vals
[] = {
3863 { 0, "integrity-failure-on-subject-message" },
3864 { 1, "integrity-failure-on-forwarded-message" },
3865 { 2, "moac-failure-on-subject-message" },
3866 { 3, "unsupported-security-policy" },
3867 { 4, "unsupported-algorithm-identifier" },
3868 { 5, "decryption-failed" },
3869 { 6, "token-error" },
3870 { 7, "unable-to-sign-notification" },
3871 { 8, "unable-to-sign-message-receipt" },
3872 { 9, "authentication-failure-on-subject-message" },
3873 { 10, "security-context-failure-message" },
3874 { 11, "message-sequence-failure" },
3875 { 12, "message-security-labelling-failure" },
3876 { 13, "repudiation-failure-of-message" },
3877 { 14, "failure-of-proof-of-message" },
3878 { 15, "signature-key-unobtainable" },
3879 { 16, "decryption-key-unobtainable" },
3880 { 17, "key-failure" },
3881 { 18, "unsupported-request-for-security-service" },
3882 { 19, "inconsistent-request-for-security-service" },
3883 { 20, "ipn-non-repudiation-provided-instead-of-content-proof" },
3884 { 21, "token-decryption-failed" },
3885 { 22, "double-enveloping-message-restoring-failure" },
3886 { 23, "unauthorised-dl-member" },
3887 { 24, "reception-security-failure" },
3888 { 25, "unsuitable-alternate-recipient" },
3889 { 26, "security-services-refusal" },
3890 { 27, "unauthorised-recipient" },
3891 { 28, "unknown-certification-authority-name" },
3892 { 29, "unknown-dl-name" },
3893 { 30, "unknown-originator-name" },
3894 { 31, "unknown-recipient-name" },
3895 { 32, "security-policy-violation" },
3901 dissect_p22_SecurityDiagnosticCode(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3902 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3909 static const ber_sequence_t IpnSecurityResponse_set
[] = {
3910 { &hf_p22_content_or_arguments
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_T_content_or_arguments
},
3911 { &hf_p22_security_diagnostic_code
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_p22_SecurityDiagnosticCode
},
3912 { NULL
, 0, 0, 0, NULL
}
3916 dissect_p22_IpnSecurityResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3917 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3918 IpnSecurityResponse_set
, hf_index
, ett_p22_IpnSecurityResponse
);
3924 static const ber_sequence_t EncryptionToken_set
[] = {
3925 { &hf_p22_encryption_algorithm_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
3926 { &hf_p22_encrypted_key
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_p22_BIT_STRING
},
3927 { &hf_p22_recipient_certificate_selector
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateAssertion
},
3928 { &hf_p22_recipient_certificate
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_Certificates
},
3929 { &hf_p22_originator_certificate_selector
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateAssertion
},
3930 { &hf_p22_originator_certificates
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_p1_ExtendedCertificates
},
3931 { NULL
, 0, 0, 0, NULL
}
3935 dissect_p22_EncryptionToken(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3936 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3937 EncryptionToken_set
, hf_index
, ett_p22_EncryptionToken
);
3943 static const value_string p22_T_body_part_choice_vals
[] = {
3944 { 0, "encryption-token" },
3945 { 1, "message-or-content-body-part" },
3949 static const ber_choice_t T_body_part_choice_choice
[] = {
3950 { 0, &hf_p22_encryption_token
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_EncryptionToken
},
3951 { 1, &hf_p22_message_or_content_body_part
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_p22_BodyPartTokens
},
3952 { 0, NULL
, 0, 0, 0, NULL
}
3956 dissect_p22_T_body_part_choice(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3957 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3958 T_body_part_choice_choice
, hf_index
, ett_p22_T_body_part_choice
,
3965 static const ber_sequence_t BodyPartTokens_item_set
[] = {
3966 { &hf_p22_body_part_number
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartNumber
},
3967 { &hf_p22_body_part_choice
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_T_body_part_choice
},
3968 { NULL
, 0, 0, 0, NULL
}
3972 dissect_p22_BodyPartTokens_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3973 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
3974 BodyPartTokens_item_set
, hf_index
, ett_p22_BodyPartTokens_item
);
3980 static const ber_sequence_t BodyPartTokens_set_of
[1] = {
3981 { &hf_p22_BodyPartTokens_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartTokens_item
},
3985 dissect_p22_BodyPartTokens(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3986 // BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens
3987 actx
->pinfo
->dissection_depth
+= 3;
3988 increment_dissection_depth(actx
->pinfo
);
3989 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3990 BodyPartTokens_set_of
, hf_index
, ett_p22_BodyPartTokens
);
3992 actx
->pinfo
->dissection_depth
-= 3;
3993 decrement_dissection_depth(actx
->pinfo
);
3998 static const value_string p22_T_body_part_token_choice_vals
[] = {
3999 { 0, "forwarding-token" },
4000 { 1, "message-or-content-body-part" },
4004 static const ber_choice_t T_body_part_token_choice_choice
[] = {
4005 { 0, &hf_p22_forwarding_token
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_p1_MessageToken
},
4006 { 1, &hf_p22_forwarded_content_token
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_ForwardedContentToken
},
4007 { 0, NULL
, 0, 0, 0, NULL
}
4011 dissect_p22_T_body_part_token_choice(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4012 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4013 T_body_part_token_choice_choice
, hf_index
, ett_p22_T_body_part_token_choice
,
4020 static const ber_sequence_t ForwardedContentToken_item_set
[] = {
4021 { &hf_p22_body_part_number
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_p22_BodyPartNumber
},
4022 { &hf_p22_body_part_token_choice
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_p22_T_body_part_token_choice
},
4023 { NULL
, 0, 0, 0, NULL
}
4027 dissect_p22_ForwardedContentToken_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4028 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
4029 ForwardedContentToken_item_set
, hf_index
, ett_p22_ForwardedContentToken_item
);
4035 static const ber_sequence_t ForwardedContentToken_set_of
[1] = {
4036 { &hf_p22_ForwardedContentToken_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_p22_ForwardedContentToken_item
},
4040 dissect_p22_ForwardedContentToken(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4041 // ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken
4042 actx
->pinfo
->dissection_depth
+= 3;
4043 increment_dissection_depth(actx
->pinfo
);
4044 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4045 ForwardedContentToken_set_of
, hf_index
, ett_p22_ForwardedContentToken
);
4047 actx
->pinfo
->dissection_depth
-= 3;
4048 decrement_dissection_depth(actx
->pinfo
);
4054 static int dissect_InformationObject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4056 asn1_ctx_t asn1_ctx
;
4057 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4058 offset
= dissect_p22_InformationObject(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_InformationObject_PDU
);
4061 static int dissect_Heading_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4063 asn1_ctx_t asn1_ctx
;
4064 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4065 offset
= dissect_p22_Heading(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_Heading_PDU
);
4068 static int dissect_ORDescriptor_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4070 asn1_ctx_t asn1_ctx
;
4071 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4072 offset
= dissect_p22_ORDescriptor(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ORDescriptor_PDU
);
4075 static int dissect_ThisIPMField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4077 asn1_ctx_t asn1_ctx
;
4078 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4079 offset
= dissect_p22_ThisIPMField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ThisIPMField_PDU
);
4082 static int dissect_OriginatorField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4084 asn1_ctx_t asn1_ctx
;
4085 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4086 offset
= dissect_p22_OriginatorField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_OriginatorField_PDU
);
4089 static int dissect_AuthorizingUsersSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4091 asn1_ctx_t asn1_ctx
;
4092 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4093 offset
= dissect_p22_AuthorizingUsersSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_AuthorizingUsersSubfield_PDU
);
4096 static int dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4098 asn1_ctx_t asn1_ctx
;
4099 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4100 offset
= dissect_p22_PrimaryRecipientsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_PrimaryRecipientsSubfield_PDU
);
4103 static int dissect_CopyRecipientsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4105 asn1_ctx_t asn1_ctx
;
4106 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4107 offset
= dissect_p22_CopyRecipientsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CopyRecipientsSubfield_PDU
);
4110 static int dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4112 asn1_ctx_t asn1_ctx
;
4113 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4114 offset
= dissect_p22_BlindCopyRecipientsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BlindCopyRecipientsSubfield_PDU
);
4117 static int dissect_RepliedToIPMField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4119 asn1_ctx_t asn1_ctx
;
4120 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4121 offset
= dissect_p22_RepliedToIPMField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_RepliedToIPMField_PDU
);
4124 static int dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4126 asn1_ctx_t asn1_ctx
;
4127 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4128 offset
= dissect_p22_ObsoletedIPMsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ObsoletedIPMsSubfield_PDU
);
4131 static int dissect_RelatedIPMsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4133 asn1_ctx_t asn1_ctx
;
4134 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4135 offset
= dissect_p22_RelatedIPMsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_RelatedIPMsSubfield_PDU
);
4138 static int dissect_SubjectField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4140 asn1_ctx_t asn1_ctx
;
4141 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4142 offset
= dissect_p22_SubjectField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_SubjectField_PDU
);
4145 static int dissect_ExpiryTimeField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4147 asn1_ctx_t asn1_ctx
;
4148 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4149 offset
= dissect_p22_ExpiryTimeField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ExpiryTimeField_PDU
);
4152 static int dissect_ReplyTimeField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4154 asn1_ctx_t asn1_ctx
;
4155 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4156 offset
= dissect_p22_ReplyTimeField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ReplyTimeField_PDU
);
4159 static int dissect_ReplyRecipientsSubfield_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4161 asn1_ctx_t asn1_ctx
;
4162 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4163 offset
= dissect_p22_ReplyRecipientsSubfield(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ReplyRecipientsSubfield_PDU
);
4166 static int dissect_ImportanceField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4168 asn1_ctx_t asn1_ctx
;
4169 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4170 offset
= dissect_p22_ImportanceField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ImportanceField_PDU
);
4173 static int dissect_SensitivityField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4175 asn1_ctx_t asn1_ctx
;
4176 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4177 offset
= dissect_p22_SensitivityField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_SensitivityField_PDU
);
4180 static int dissect_AutoForwardedField_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4182 asn1_ctx_t asn1_ctx
;
4183 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4184 offset
= dissect_p22_AutoForwardedField(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_AutoForwardedField_PDU
);
4187 static int dissect_Body_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4189 asn1_ctx_t asn1_ctx
;
4190 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4191 offset
= dissect_p22_Body(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_Body_PDU
);
4194 static int dissect_IA5TextParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4196 asn1_ctx_t asn1_ctx
;
4197 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4198 offset
= dissect_p22_IA5TextParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IA5TextParameters_PDU
);
4201 static int dissect_IA5TextData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4203 asn1_ctx_t asn1_ctx
;
4204 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4205 offset
= dissect_p22_IA5TextData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IA5TextData_PDU
);
4208 static int dissect_G3FacsimileParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4210 asn1_ctx_t asn1_ctx
;
4211 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4212 offset
= dissect_p22_G3FacsimileParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_G3FacsimileParameters_PDU
);
4215 static int dissect_G3FacsimileData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4217 asn1_ctx_t asn1_ctx
;
4218 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4219 offset
= dissect_p22_G3FacsimileData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_G3FacsimileData_PDU
);
4222 static int dissect_G4Class1BodyPart_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4224 asn1_ctx_t asn1_ctx
;
4225 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4226 offset
= dissect_p22_G4Class1BodyPart(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_G4Class1BodyPart_PDU
);
4229 static int dissect_MixedModeBodyPart_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4231 asn1_ctx_t asn1_ctx
;
4232 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4233 offset
= dissect_p22_MixedModeBodyPart(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_MixedModeBodyPart_PDU
);
4236 static int dissect_TeletexParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4238 asn1_ctx_t asn1_ctx
;
4239 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4240 offset
= dissect_p22_TeletexParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_TeletexParameters_PDU
);
4243 static int dissect_TeletexData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4245 asn1_ctx_t asn1_ctx
;
4246 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4247 offset
= dissect_p22_TeletexData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_TeletexData_PDU
);
4250 static int dissect_VideotexParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4252 asn1_ctx_t asn1_ctx
;
4253 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4254 offset
= dissect_p22_VideotexParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_VideotexParameters_PDU
);
4257 static int dissect_VideotexData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4259 asn1_ctx_t asn1_ctx
;
4260 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4261 offset
= dissect_p22_VideotexData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_VideotexData_PDU
);
4264 static int dissect_EncryptedParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4266 asn1_ctx_t asn1_ctx
;
4267 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4268 offset
= dissect_p22_EncryptedParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_EncryptedParameters_PDU
);
4271 static int dissect_EncryptedData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4273 asn1_ctx_t asn1_ctx
;
4274 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4275 offset
= dissect_p22_EncryptedData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_EncryptedData_PDU
);
4278 static int dissect_MessageParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4280 asn1_ctx_t asn1_ctx
;
4281 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4282 offset
= dissect_p22_MessageParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_MessageParameters_PDU
);
4285 static int dissect_MessageData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4287 asn1_ctx_t asn1_ctx
;
4288 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4289 offset
= dissect_p22_MessageData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_MessageData_PDU
);
4292 static int dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4294 asn1_ctx_t asn1_ctx
;
4295 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4296 offset
= dissect_p22_BilaterallyDefinedBodyPart(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BilaterallyDefinedBodyPart_PDU
);
4299 static int dissect_IPN_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4301 asn1_ctx_t asn1_ctx
;
4302 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4303 offset
= dissect_p22_IPN(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPN_PDU
);
4306 static int dissect_AbsenceAdvice_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4308 asn1_ctx_t asn1_ctx
;
4309 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4310 offset
= dissect_p22_AbsenceAdvice(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_AbsenceAdvice_PDU
);
4313 static int dissect_ChangeOfAddressAdvice_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4315 asn1_ctx_t asn1_ctx
;
4316 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4317 offset
= dissect_p22_ChangeOfAddressAdvice(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ChangeOfAddressAdvice_PDU
);
4320 static int dissect_IPMAssemblyInstructions_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4322 asn1_ctx_t asn1_ctx
;
4323 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4324 offset
= dissect_p22_IPMAssemblyInstructions(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPMAssemblyInstructions_PDU
);
4327 static int dissect_IncompleteCopy_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4329 asn1_ctx_t asn1_ctx
;
4330 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4331 offset
= dissect_p22_IncompleteCopy(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IncompleteCopy_PDU
);
4334 static int dissect_Languages_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4336 asn1_ctx_t asn1_ctx
;
4337 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4338 offset
= dissect_p22_Languages(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_Languages_PDU
);
4341 static int dissect_Language_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4343 asn1_ctx_t asn1_ctx
;
4344 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4345 offset
= dissect_p22_Language(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_Language_PDU
);
4348 static int dissect_AutoSubmitted_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4350 asn1_ctx_t asn1_ctx
;
4351 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4352 offset
= dissect_p22_AutoSubmitted(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_AutoSubmitted_PDU
);
4355 static int dissect_BodyPartSignatures_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4357 asn1_ctx_t asn1_ctx
;
4358 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4359 offset
= dissect_p22_BodyPartSignatures(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BodyPartSignatures_PDU
);
4362 static int dissect_IPMSecurityLabel_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4364 asn1_ctx_t asn1_ctx
;
4365 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4366 offset
= dissect_p22_IPMSecurityLabel(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPMSecurityLabel_PDU
);
4369 static int dissect_BodyPartSecurityLabel_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4371 asn1_ctx_t asn1_ctx
;
4372 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4373 offset
= dissect_p22_BodyPartSecurityLabel(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BodyPartSecurityLabel_PDU
);
4376 static int dissect_AuthorizationTime_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4378 asn1_ctx_t asn1_ctx
;
4379 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4380 offset
= dissect_p22_AuthorizationTime(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_AuthorizationTime_PDU
);
4383 static int dissect_CirculationList_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4385 asn1_ctx_t asn1_ctx
;
4386 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4387 offset
= dissect_p22_CirculationList(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CirculationList_PDU
);
4390 static int dissect_CirculationMember_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4392 asn1_ctx_t asn1_ctx
;
4393 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4394 offset
= dissect_p22_CirculationMember(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CirculationMember_PDU
);
4397 static int dissect_CirculationListIndicator_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4399 asn1_ctx_t asn1_ctx
;
4400 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4401 offset
= dissect_p22_CirculationListIndicator(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CirculationListIndicator_PDU
);
4404 static int dissect_DistributionCodes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4406 asn1_ctx_t asn1_ctx
;
4407 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4408 offset
= dissect_p22_DistributionCodes(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_DistributionCodes_PDU
);
4411 static int dissect_DistributionCode_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4413 asn1_ctx_t asn1_ctx
;
4414 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4415 offset
= dissect_p22_DistributionCode(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_DistributionCode_PDU
);
4418 static int dissect_ExtendedSubject_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4420 asn1_ctx_t asn1_ctx
;
4421 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4422 offset
= dissect_p22_ExtendedSubject(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ExtendedSubject_PDU
);
4425 static int dissect_InformationCategories_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4427 asn1_ctx_t asn1_ctx
;
4428 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4429 offset
= dissect_p22_InformationCategories(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_InformationCategories_PDU
);
4432 static int dissect_InformationCategory_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4434 asn1_ctx_t asn1_ctx
;
4435 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4436 offset
= dissect_p22_InformationCategory(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_InformationCategory_PDU
);
4439 static int dissect_ManualHandlingInstructions_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4441 asn1_ctx_t asn1_ctx
;
4442 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4443 offset
= dissect_p22_ManualHandlingInstructions(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ManualHandlingInstructions_PDU
);
4446 static int dissect_ManualHandlingInstruction_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4448 asn1_ctx_t asn1_ctx
;
4449 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4450 offset
= dissect_p22_ManualHandlingInstruction(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ManualHandlingInstruction_PDU
);
4453 static int dissect_OriginatorsReference_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4455 asn1_ctx_t asn1_ctx
;
4456 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4457 offset
= dissect_p22_OriginatorsReference(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_OriginatorsReference_PDU
);
4460 static int dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4462 asn1_ctx_t asn1_ctx
;
4463 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4464 offset
= dissect_p22_PrecedencePolicyIdentifier(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_PrecedencePolicyIdentifier_PDU
);
4467 static int dissect_Precedence_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4469 asn1_ctx_t asn1_ctx
;
4470 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4471 offset
= dissect_p22_Precedence(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_Precedence_PDU
);
4474 static int dissect_GeneralTextParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4476 asn1_ctx_t asn1_ctx
;
4477 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4478 offset
= dissect_p22_GeneralTextParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_GeneralTextParameters_PDU
);
4481 static int dissect_GeneralTextData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4483 asn1_ctx_t asn1_ctx
;
4484 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4485 offset
= dissect_p22_GeneralTextData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_GeneralTextData_PDU
);
4488 static int dissect_FileTransferParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4490 asn1_ctx_t asn1_ctx
;
4491 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4492 offset
= dissect_p22_FileTransferParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_FileTransferParameters_PDU
);
4495 static int dissect_FileTransferData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4497 asn1_ctx_t asn1_ctx
;
4498 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4499 offset
= dissect_p22_FileTransferData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_FileTransferData_PDU
);
4502 static int dissect_VoiceParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4504 asn1_ctx_t asn1_ctx
;
4505 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4506 offset
= dissect_p22_VoiceParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_VoiceParameters_PDU
);
4509 static int dissect_VoiceData_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4511 asn1_ctx_t asn1_ctx
;
4512 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4513 offset
= dissect_p22_VoiceData(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_VoiceData_PDU
);
4516 static int dissect_ForwardedContentParameters_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4518 asn1_ctx_t asn1_ctx
;
4519 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4520 offset
= dissect_p22_ForwardedContentParameters(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ForwardedContentParameters_PDU
);
4523 static int dissect_IPMEntryType_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4525 asn1_ctx_t asn1_ctx
;
4526 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4527 offset
= dissect_p22_IPMEntryType(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPMEntryType_PDU
);
4530 static int dissect_IPMSynopsis_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4532 asn1_ctx_t asn1_ctx
;
4533 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4534 offset
= dissect_p22_IPMSynopsis(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPMSynopsis_PDU
);
4537 static int dissect_BodyPartDescriptor_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4539 asn1_ctx_t asn1_ctx
;
4540 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4541 offset
= dissect_p22_BodyPartDescriptor(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BodyPartDescriptor_PDU
);
4544 static int dissect_BodyPartSignatureVerification_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4546 asn1_ctx_t asn1_ctx
;
4547 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4548 offset
= dissect_p22_BodyPartSignatureVerification(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BodyPartSignatureVerification_PDU
);
4551 static int dissect_IPMLocation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4553 asn1_ctx_t asn1_ctx
;
4554 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4555 offset
= dissect_p22_IPMLocation(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IPMLocation_PDU
);
4558 static int dissect_DeliveredReplyStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4560 asn1_ctx_t asn1_ctx
;
4561 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4562 offset
= dissect_p22_DeliveredReplyStatus(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_DeliveredReplyStatus_PDU
);
4565 static int dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4567 asn1_ctx_t asn1_ctx
;
4568 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4569 offset
= dissect_p22_CorrelatedDeliveredReplies(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CorrelatedDeliveredReplies_PDU
);
4572 static int dissect_DeliveredIPNStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4574 asn1_ctx_t asn1_ctx
;
4575 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4576 offset
= dissect_p22_DeliveredIPNStatus(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_DeliveredIPNStatus_PDU
);
4579 static int dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4581 asn1_ctx_t asn1_ctx
;
4582 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4583 offset
= dissect_p22_CorrelatedDeliveredIPNs(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_CorrelatedDeliveredIPNs_PDU
);
4586 static int dissect_SubmittedReplyStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4588 asn1_ctx_t asn1_ctx
;
4589 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4590 offset
= dissect_p22_SubmittedReplyStatus(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_SubmittedReplyStatus_PDU
);
4593 static int dissect_SubmittedIPNStatus_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4595 asn1_ctx_t asn1_ctx
;
4596 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4597 offset
= dissect_p22_SubmittedIPNStatus(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_SubmittedIPNStatus_PDU
);
4600 static int dissect_RecipientCategory_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4602 asn1_ctx_t asn1_ctx
;
4603 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4604 offset
= dissect_p22_RecipientCategory(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_RecipientCategory_PDU
);
4607 static int dissect_RecipientSecurityRequest_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4609 asn1_ctx_t asn1_ctx
;
4610 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4611 offset
= dissect_p22_RecipientSecurityRequest(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_RecipientSecurityRequest_PDU
);
4614 static int dissect_IpnSecurityResponse_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4616 asn1_ctx_t asn1_ctx
;
4617 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4618 offset
= dissect_p22_IpnSecurityResponse(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_IpnSecurityResponse_PDU
);
4621 static int dissect_BodyPartTokens_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4623 asn1_ctx_t asn1_ctx
;
4624 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4625 offset
= dissect_p22_BodyPartTokens(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_BodyPartTokens_PDU
);
4628 static int dissect_ForwardedContentToken_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
4630 asn1_ctx_t asn1_ctx
;
4631 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4632 offset
= dissect_p22_ForwardedContentToken(false, tvb
, offset
, &asn1_ctx
, tree
, hf_p22_ForwardedContentToken_PDU
);
4638 * Dissect P22 PDUs inside a PPDU.
4641 dissect_p22(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*parent_tree
, void* data _U_
)
4644 proto_item
*item
=NULL
;
4645 proto_tree
*tree
=NULL
;
4646 asn1_ctx_t asn1_ctx
;
4647 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
4650 item
= proto_tree_add_item(parent_tree
, proto_p22
, tvb
, 0, -1, ENC_NA
);
4651 tree
= proto_item_add_subtree(item
, ett_p22
);
4654 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "P22");
4655 col_set_str(pinfo
->cinfo
, COL_INFO
, "InterPersonal");
4657 dissect_p22_InformationObject(true, tvb
, offset
, &asn1_ctx
, tree
, -1);
4658 return tvb_captured_length(tvb
);
4662 /*--- proto_register_p22 -------------------------------------------*/
4663 void proto_register_p22(void) {
4665 /* List of fields */
4666 static hf_register_info hf
[] =
4668 { &hf_p22_InformationObject_PDU
,
4669 { "InformationObject", "p22.InformationObject",
4670 FT_UINT32
, BASE_DEC
, VALS(p22_InformationObject_vals
), 0,
4672 { &hf_p22_Heading_PDU
,
4673 { "Heading", "p22.Heading_element",
4674 FT_NONE
, BASE_NONE
, NULL
, 0,
4676 { &hf_p22_ORDescriptor_PDU
,
4677 { "ORDescriptor", "p22.ORDescriptor_element",
4678 FT_NONE
, BASE_NONE
, NULL
, 0,
4680 { &hf_p22_ThisIPMField_PDU
,
4681 { "ThisIPMField", "p22.ThisIPMField_element",
4682 FT_NONE
, BASE_NONE
, NULL
, 0,
4684 { &hf_p22_OriginatorField_PDU
,
4685 { "OriginatorField", "p22.OriginatorField_element",
4686 FT_NONE
, BASE_NONE
, NULL
, 0,
4688 { &hf_p22_AuthorizingUsersSubfield_PDU
,
4689 { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield_element",
4690 FT_NONE
, BASE_NONE
, NULL
, 0,
4692 { &hf_p22_PrimaryRecipientsSubfield_PDU
,
4693 { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield_element",
4694 FT_NONE
, BASE_NONE
, NULL
, 0,
4696 { &hf_p22_CopyRecipientsSubfield_PDU
,
4697 { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield_element",
4698 FT_NONE
, BASE_NONE
, NULL
, 0,
4700 { &hf_p22_BlindCopyRecipientsSubfield_PDU
,
4701 { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield_element",
4702 FT_NONE
, BASE_NONE
, NULL
, 0,
4704 { &hf_p22_RepliedToIPMField_PDU
,
4705 { "RepliedToIPMField", "p22.RepliedToIPMField_element",
4706 FT_NONE
, BASE_NONE
, NULL
, 0,
4708 { &hf_p22_ObsoletedIPMsSubfield_PDU
,
4709 { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield_element",
4710 FT_NONE
, BASE_NONE
, NULL
, 0,
4712 { &hf_p22_RelatedIPMsSubfield_PDU
,
4713 { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield_element",
4714 FT_NONE
, BASE_NONE
, NULL
, 0,
4716 { &hf_p22_SubjectField_PDU
,
4717 { "SubjectField", "p22.SubjectField",
4718 FT_STRING
, BASE_NONE
, NULL
, 0,
4720 { &hf_p22_ExpiryTimeField_PDU
,
4721 { "ExpiryTimeField", "p22.ExpiryTimeField",
4722 FT_STRING
, BASE_NONE
, NULL
, 0,
4724 { &hf_p22_ReplyTimeField_PDU
,
4725 { "ReplyTimeField", "p22.ReplyTimeField",
4726 FT_STRING
, BASE_NONE
, NULL
, 0,
4728 { &hf_p22_ReplyRecipientsSubfield_PDU
,
4729 { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield_element",
4730 FT_NONE
, BASE_NONE
, NULL
, 0,
4732 { &hf_p22_ImportanceField_PDU
,
4733 { "ImportanceField", "p22.ImportanceField",
4734 FT_UINT32
, BASE_DEC
, VALS(p22_ImportanceField_vals
), 0,
4736 { &hf_p22_SensitivityField_PDU
,
4737 { "SensitivityField", "p22.SensitivityField",
4738 FT_UINT32
, BASE_DEC
, VALS(p22_SensitivityField_vals
), 0,
4740 { &hf_p22_AutoForwardedField_PDU
,
4741 { "AutoForwardedField", "p22.AutoForwardedField",
4742 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
4745 { "Body", "p22.Body",
4746 FT_UINT32
, BASE_DEC
, NULL
, 0,
4748 { &hf_p22_IA5TextParameters_PDU
,
4749 { "IA5TextParameters", "p22.IA5TextParameters_element",
4750 FT_NONE
, BASE_NONE
, NULL
, 0,
4752 { &hf_p22_IA5TextData_PDU
,
4753 { "IA5TextData", "p22.IA5TextData",
4754 FT_STRING
, BASE_NONE
, NULL
, 0,
4756 { &hf_p22_G3FacsimileParameters_PDU
,
4757 { "G3FacsimileParameters", "p22.G3FacsimileParameters_element",
4758 FT_NONE
, BASE_NONE
, NULL
, 0,
4760 { &hf_p22_G3FacsimileData_PDU
,
4761 { "G3FacsimileData", "p22.G3FacsimileData",
4762 FT_UINT32
, BASE_DEC
, NULL
, 0,
4764 { &hf_p22_G4Class1BodyPart_PDU
,
4765 { "G4Class1BodyPart", "p22.G4Class1BodyPart",
4766 FT_UINT32
, BASE_DEC
, NULL
, 0,
4768 { &hf_p22_MixedModeBodyPart_PDU
,
4769 { "MixedModeBodyPart", "p22.MixedModeBodyPart",
4770 FT_UINT32
, BASE_DEC
, NULL
, 0,
4772 { &hf_p22_TeletexParameters_PDU
,
4773 { "TeletexParameters", "p22.TeletexParameters_element",
4774 FT_NONE
, BASE_NONE
, NULL
, 0,
4776 { &hf_p22_TeletexData_PDU
,
4777 { "TeletexData", "p22.TeletexData",
4778 FT_UINT32
, BASE_DEC
, NULL
, 0,
4780 { &hf_p22_VideotexParameters_PDU
,
4781 { "VideotexParameters", "p22.VideotexParameters_element",
4782 FT_NONE
, BASE_NONE
, NULL
, 0,
4784 { &hf_p22_VideotexData_PDU
,
4785 { "VideotexData", "p22.VideotexData",
4786 FT_STRING
, BASE_NONE
, NULL
, 0,
4788 { &hf_p22_EncryptedParameters_PDU
,
4789 { "EncryptedParameters", "p22.EncryptedParameters_element",
4790 FT_NONE
, BASE_NONE
, NULL
, 0,
4792 { &hf_p22_EncryptedData_PDU
,
4793 { "EncryptedData", "p22.EncryptedData",
4794 FT_BYTES
, BASE_NONE
, NULL
, 0,
4796 { &hf_p22_MessageParameters_PDU
,
4797 { "MessageParameters", "p22.MessageParameters_element",
4798 FT_NONE
, BASE_NONE
, NULL
, 0,
4800 { &hf_p22_MessageData_PDU
,
4801 { "MessageData", "p22.MessageData_element",
4802 FT_NONE
, BASE_NONE
, NULL
, 0,
4804 { &hf_p22_BilaterallyDefinedBodyPart_PDU
,
4805 { "BilaterallyDefinedBodyPart", "p22.BilaterallyDefinedBodyPart",
4806 FT_BYTES
, BASE_NONE
, NULL
, 0,
4809 { "IPN", "p22.IPN_element",
4810 FT_NONE
, BASE_NONE
, NULL
, 0,
4812 { &hf_p22_AbsenceAdvice_PDU
,
4813 { "AbsenceAdvice", "p22.AbsenceAdvice_element",
4814 FT_NONE
, BASE_NONE
, NULL
, 0,
4816 { &hf_p22_ChangeOfAddressAdvice_PDU
,
4817 { "ChangeOfAddressAdvice", "p22.ChangeOfAddressAdvice_element",
4818 FT_NONE
, BASE_NONE
, NULL
, 0,
4820 { &hf_p22_IPMAssemblyInstructions_PDU
,
4821 { "IPMAssemblyInstructions", "p22.IPMAssemblyInstructions_element",
4822 FT_NONE
, BASE_NONE
, NULL
, 0,
4824 { &hf_p22_IncompleteCopy_PDU
,
4825 { "IncompleteCopy", "p22.IncompleteCopy_element",
4826 FT_NONE
, BASE_NONE
, NULL
, 0,
4828 { &hf_p22_Languages_PDU
,
4829 { "Languages", "p22.Languages",
4830 FT_UINT32
, BASE_DEC
, NULL
, 0,
4832 { &hf_p22_Language_PDU
,
4833 { "Language", "p22.Language",
4834 FT_STRING
, BASE_NONE
, NULL
, 0,
4836 { &hf_p22_AutoSubmitted_PDU
,
4837 { "AutoSubmitted", "p22.AutoSubmitted",
4838 FT_UINT32
, BASE_DEC
, VALS(p22_AutoSubmitted_vals
), 0,
4840 { &hf_p22_BodyPartSignatures_PDU
,
4841 { "BodyPartSignatures", "p22.BodyPartSignatures",
4842 FT_UINT32
, BASE_DEC
, NULL
, 0,
4844 { &hf_p22_IPMSecurityLabel_PDU
,
4845 { "IPMSecurityLabel", "p22.IPMSecurityLabel_element",
4846 FT_NONE
, BASE_NONE
, NULL
, 0,
4848 { &hf_p22_BodyPartSecurityLabel_PDU
,
4849 { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel",
4850 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPartSecurityLabel_vals
), 0,
4852 { &hf_p22_AuthorizationTime_PDU
,
4853 { "AuthorizationTime", "p22.AuthorizationTime",
4854 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
4856 { &hf_p22_CirculationList_PDU
,
4857 { "CirculationList", "p22.CirculationList",
4858 FT_UINT32
, BASE_DEC
, NULL
, 0,
4860 { &hf_p22_CirculationMember_PDU
,
4861 { "CirculationMember", "p22.CirculationMember_element",
4862 FT_NONE
, BASE_NONE
, NULL
, 0,
4864 { &hf_p22_CirculationListIndicator_PDU
,
4865 { "CirculationListIndicator", "p22.CirculationListIndicator_element",
4866 FT_NONE
, BASE_NONE
, NULL
, 0,
4868 { &hf_p22_DistributionCodes_PDU
,
4869 { "DistributionCodes", "p22.DistributionCodes",
4870 FT_UINT32
, BASE_DEC
, NULL
, 0,
4872 { &hf_p22_DistributionCode_PDU
,
4873 { "DistributionCode", "p22.DistributionCode_element",
4874 FT_NONE
, BASE_NONE
, NULL
, 0,
4876 { &hf_p22_ExtendedSubject_PDU
,
4877 { "ExtendedSubject", "p22.ExtendedSubject_element",
4878 FT_NONE
, BASE_NONE
, NULL
, 0,
4880 { &hf_p22_InformationCategories_PDU
,
4881 { "InformationCategories", "p22.InformationCategories",
4882 FT_UINT32
, BASE_DEC
, NULL
, 0,
4884 { &hf_p22_InformationCategory_PDU
,
4885 { "InformationCategory", "p22.InformationCategory_element",
4886 FT_NONE
, BASE_NONE
, NULL
, 0,
4888 { &hf_p22_ManualHandlingInstructions_PDU
,
4889 { "ManualHandlingInstructions", "p22.ManualHandlingInstructions",
4890 FT_UINT32
, BASE_DEC
, NULL
, 0,
4892 { &hf_p22_ManualHandlingInstruction_PDU
,
4893 { "ManualHandlingInstruction", "p22.ManualHandlingInstruction_element",
4894 FT_NONE
, BASE_NONE
, NULL
, 0,
4896 { &hf_p22_OriginatorsReference_PDU
,
4897 { "OriginatorsReference", "p22.OriginatorsReference_element",
4898 FT_NONE
, BASE_NONE
, NULL
, 0,
4900 { &hf_p22_PrecedencePolicyIdentifier_PDU
,
4901 { "PrecedencePolicyIdentifier", "p22.PrecedencePolicyIdentifier",
4902 FT_OID
, BASE_NONE
, NULL
, 0,
4904 { &hf_p22_Precedence_PDU
,
4905 { "Precedence", "p22.Precedence",
4906 FT_UINT32
, BASE_DEC
, NULL
, 0,
4908 { &hf_p22_GeneralTextParameters_PDU
,
4909 { "GeneralTextParameters", "p22.GeneralTextParameters",
4910 FT_UINT32
, BASE_DEC
, NULL
, 0,
4912 { &hf_p22_GeneralTextData_PDU
,
4913 { "GeneralTextData", "p22.GeneralTextData",
4914 FT_STRING
, BASE_NONE
, NULL
, 0,
4916 { &hf_p22_FileTransferParameters_PDU
,
4917 { "FileTransferParameters", "p22.FileTransferParameters_element",
4918 FT_NONE
, BASE_NONE
, NULL
, 0,
4920 { &hf_p22_FileTransferData_PDU
,
4921 { "FileTransferData", "p22.FileTransferData",
4922 FT_UINT32
, BASE_DEC
, NULL
, 0,
4924 { &hf_p22_VoiceParameters_PDU
,
4925 { "VoiceParameters", "p22.VoiceParameters_element",
4926 FT_NONE
, BASE_NONE
, NULL
, 0,
4928 { &hf_p22_VoiceData_PDU
,
4929 { "VoiceData", "p22.VoiceData",
4930 FT_BYTES
, BASE_NONE
, NULL
, 0,
4932 { &hf_p22_ForwardedContentParameters_PDU
,
4933 { "ForwardedContentParameters", "p22.ForwardedContentParameters_element",
4934 FT_NONE
, BASE_NONE
, NULL
, 0,
4936 { &hf_p22_IPMEntryType_PDU
,
4937 { "IPMEntryType", "p22.IPMEntryType",
4938 FT_UINT32
, BASE_DEC
, VALS(p22_IPMEntryType_vals
), 0,
4940 { &hf_p22_IPMSynopsis_PDU
,
4941 { "IPMSynopsis", "p22.IPMSynopsis",
4942 FT_UINT32
, BASE_DEC
, NULL
, 0,
4944 { &hf_p22_BodyPartDescriptor_PDU
,
4945 { "BodyPartDescriptor", "p22.BodyPartDescriptor_element",
4946 FT_NONE
, BASE_NONE
, NULL
, 0,
4948 { &hf_p22_BodyPartSignatureVerification_PDU
,
4949 { "BodyPartSignatureVerification", "p22.BodyPartSignatureVerification",
4950 FT_UINT32
, BASE_DEC
, NULL
, 0,
4952 { &hf_p22_IPMLocation_PDU
,
4953 { "IPMLocation", "p22.IPMLocation",
4954 FT_UINT32
, BASE_DEC
, VALS(p22_IPMLocation_vals
), 0,
4956 { &hf_p22_DeliveredReplyStatus_PDU
,
4957 { "DeliveredReplyStatus", "p22.DeliveredReplyStatus",
4958 FT_INT32
, BASE_DEC
, VALS(p22_DeliveredReplyStatus_vals
), 0,
4960 { &hf_p22_CorrelatedDeliveredReplies_PDU
,
4961 { "CorrelatedDeliveredReplies", "p22.CorrelatedDeliveredReplies",
4962 FT_UINT32
, BASE_DEC
, VALS(p22_CorrelatedDeliveredReplies_vals
), 0,
4964 { &hf_p22_DeliveredIPNStatus_PDU
,
4965 { "DeliveredIPNStatus", "p22.DeliveredIPNStatus",
4966 FT_INT32
, BASE_DEC
, VALS(p22_DeliveredIPNStatus_vals
), 0,
4968 { &hf_p22_CorrelatedDeliveredIPNs_PDU
,
4969 { "CorrelatedDeliveredIPNs", "p22.CorrelatedDeliveredIPNs",
4970 FT_UINT32
, BASE_DEC
, VALS(p22_CorrelatedDeliveredIPNs_vals
), 0,
4972 { &hf_p22_SubmittedReplyStatus_PDU
,
4973 { "SubmittedReplyStatus", "p22.SubmittedReplyStatus",
4974 FT_INT32
, BASE_DEC
, VALS(p22_SubmittedReplyStatus_vals
), 0,
4976 { &hf_p22_SubmittedIPNStatus_PDU
,
4977 { "SubmittedIPNStatus", "p22.SubmittedIPNStatus",
4978 FT_INT32
, BASE_DEC
, VALS(p22_SubmittedIPNStatus_vals
), 0,
4980 { &hf_p22_RecipientCategory_PDU
,
4981 { "RecipientCategory", "p22.RecipientCategory",
4982 FT_INT32
, BASE_DEC
, VALS(p22_RecipientCategory_vals
), 0,
4984 { &hf_p22_RecipientSecurityRequest_PDU
,
4985 { "RecipientSecurityRequest", "p22.RecipientSecurityRequest",
4986 FT_BYTES
, BASE_NONE
, NULL
, 0,
4988 { &hf_p22_IpnSecurityResponse_PDU
,
4989 { "IpnSecurityResponse", "p22.IpnSecurityResponse_element",
4990 FT_NONE
, BASE_NONE
, NULL
, 0,
4992 { &hf_p22_BodyPartTokens_PDU
,
4993 { "BodyPartTokens", "p22.BodyPartTokens",
4994 FT_UINT32
, BASE_DEC
, NULL
, 0,
4996 { &hf_p22_ForwardedContentToken_PDU
,
4997 { "ForwardedContentToken", "p22.ForwardedContentToken",
4998 FT_UINT32
, BASE_DEC
, NULL
, 0,
5001 { "ipm", "p22.ipm_element",
5002 FT_NONE
, BASE_NONE
, NULL
, 0,
5005 { "ipn", "p22.ipn_element",
5006 FT_NONE
, BASE_NONE
, NULL
, 0,
5009 { "heading", "p22.heading_element",
5010 FT_NONE
, BASE_NONE
, NULL
, 0,
5013 { "body", "p22.body",
5014 FT_UINT32
, BASE_DEC
, NULL
, 0,
5017 { "type", "p22.type",
5018 FT_OID
, BASE_NONE
, NULL
, 0,
5021 { "value", "p22.value_element",
5022 FT_NONE
, BASE_NONE
, NULL
, 0,
5025 { "this-IPM", "p22.this_IPM_element",
5026 FT_NONE
, BASE_NONE
, NULL
, 0,
5027 "ThisIPMField", HFILL
}},
5028 { &hf_p22_originator
,
5029 { "originator", "p22.originator_element",
5030 FT_NONE
, BASE_NONE
, NULL
, 0,
5031 "OriginatorField", HFILL
}},
5032 { &hf_p22_authorizing_users
,
5033 { "authorizing-users", "p22.authorizing_users",
5034 FT_UINT32
, BASE_DEC
, NULL
, 0,
5035 "AuthorizingUsersField", HFILL
}},
5036 { &hf_p22_primary_recipients
,
5037 { "primary-recipients", "p22.primary_recipients",
5038 FT_UINT32
, BASE_DEC
, NULL
, 0,
5039 "PrimaryRecipientsField", HFILL
}},
5040 { &hf_p22_copy_recipients
,
5041 { "copy-recipients", "p22.copy_recipients",
5042 FT_UINT32
, BASE_DEC
, NULL
, 0,
5043 "CopyRecipientsField", HFILL
}},
5044 { &hf_p22_blind_copy_recipients
,
5045 { "blind-copy-recipients", "p22.blind_copy_recipients",
5046 FT_UINT32
, BASE_DEC
, NULL
, 0,
5047 "BlindCopyRecipientsField", HFILL
}},
5048 { &hf_p22_replied_to_IPM
,
5049 { "replied-to-IPM", "p22.replied_to_IPM_element",
5050 FT_NONE
, BASE_NONE
, NULL
, 0,
5051 "RepliedToIPMField", HFILL
}},
5052 { &hf_p22_obsoleted_IPMs
,
5053 { "obsoleted-IPMs", "p22.obsoleted_IPMs",
5054 FT_UINT32
, BASE_DEC
, NULL
, 0,
5055 "ObsoletedIPMsField", HFILL
}},
5056 { &hf_p22_related_IPMs
,
5057 { "related-IPMs", "p22.related_IPMs",
5058 FT_UINT32
, BASE_DEC
, NULL
, 0,
5059 "RelatedIPMsField", HFILL
}},
5061 { "subject", "p22.subject",
5062 FT_STRING
, BASE_NONE
, NULL
, 0,
5063 "SubjectField", HFILL
}},
5064 { &hf_p22_expiry_time
,
5065 { "expiry-time", "p22.expiry_time",
5066 FT_STRING
, BASE_NONE
, NULL
, 0,
5067 "ExpiryTimeField", HFILL
}},
5068 { &hf_p22_reply_time
,
5069 { "reply-time", "p22.reply_time",
5070 FT_STRING
, BASE_NONE
, NULL
, 0,
5071 "ReplyTimeField", HFILL
}},
5072 { &hf_p22_reply_recipients
,
5073 { "reply-recipients", "p22.reply_recipients",
5074 FT_UINT32
, BASE_DEC
, NULL
, 0,
5075 "ReplyRecipientsField", HFILL
}},
5076 { &hf_p22_importance
,
5077 { "importance", "p22.importance",
5078 FT_UINT32
, BASE_DEC
, VALS(p22_ImportanceField_vals
), 0,
5079 "ImportanceField", HFILL
}},
5080 { &hf_p22_sensitivity
,
5081 { "sensitivity", "p22.sensitivity",
5082 FT_UINT32
, BASE_DEC
, VALS(p22_SensitivityField_vals
), 0,
5083 "SensitivityField", HFILL
}},
5084 { &hf_p22_auto_forwarded
,
5085 { "auto-forwarded", "p22.auto_forwarded",
5086 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5087 "AutoForwardedField", HFILL
}},
5088 { &hf_p22_extensions
,
5089 { "extensions", "p22.extensions",
5090 FT_UINT32
, BASE_DEC
, NULL
, 0,
5091 "ExtensionsField", HFILL
}},
5093 { "user", "p22.user_element",
5094 FT_NONE
, BASE_NONE
, NULL
, 0,
5096 { &hf_p22_user_relative_identifier
,
5097 { "user-relative-identifier", "p22.user_relative_identifier",
5098 FT_STRING
, BASE_NONE
, NULL
, 0,
5099 "LocalIPMIdentifier", HFILL
}},
5100 { &hf_p22_recipient
,
5101 { "recipient", "p22.recipient_element",
5102 FT_NONE
, BASE_NONE
, NULL
, 0,
5103 "ORDescriptor", HFILL
}},
5104 { &hf_p22_notification_requests
,
5105 { "notification-requests", "p22.notification_requests",
5106 FT_BYTES
, BASE_NONE
, NULL
, 0,
5107 "NotificationRequests", HFILL
}},
5108 { &hf_p22_reply_requested
,
5109 { "reply-requested", "p22.reply_requested",
5110 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5111 "BOOLEAN", HFILL
}},
5112 { &hf_p22_recipient_extensions
,
5113 { "recipient-extensions", "p22.recipient_extensions",
5114 FT_UINT32
, BASE_DEC
, NULL
, 0,
5115 "RecipientExtensionsField", HFILL
}},
5116 { &hf_p22_formal_name
,
5117 { "formal-name", "p22.formal_name_element",
5118 FT_NONE
, BASE_NONE
, NULL
, 0,
5120 { &hf_p22_free_form_name
,
5121 { "free-form-name", "p22.free_form_name",
5122 FT_STRING
, BASE_NONE
, NULL
, 0,
5123 "FreeFormName", HFILL
}},
5124 { &hf_p22_telephone_number
,
5125 { "telephone-number", "p22.telephone_number",
5126 FT_STRING
, BASE_NONE
, NULL
, 0,
5127 "TelephoneNumber", HFILL
}},
5128 { &hf_p22_RecipientExtensionsField_item
,
5129 { "IPMSExtension", "p22.IPMSExtension_element",
5130 FT_NONE
, BASE_NONE
, NULL
, 0,
5132 { &hf_p22_AuthorizingUsersField_item
,
5133 { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield_element",
5134 FT_NONE
, BASE_NONE
, NULL
, 0,
5136 { &hf_p22_PrimaryRecipientsField_item
,
5137 { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield_element",
5138 FT_NONE
, BASE_NONE
, NULL
, 0,
5140 { &hf_p22_CopyRecipientsField_item
,
5141 { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield_element",
5142 FT_NONE
, BASE_NONE
, NULL
, 0,
5144 { &hf_p22_BlindCopyRecipientsField_item
,
5145 { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield_element",
5146 FT_NONE
, BASE_NONE
, NULL
, 0,
5148 { &hf_p22_ObsoletedIPMsField_item
,
5149 { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield_element",
5150 FT_NONE
, BASE_NONE
, NULL
, 0,
5152 { &hf_p22_RelatedIPMsField_item
,
5153 { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield_element",
5154 FT_NONE
, BASE_NONE
, NULL
, 0,
5156 { &hf_p22_ReplyRecipientsField_item
,
5157 { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield_element",
5158 FT_NONE
, BASE_NONE
, NULL
, 0,
5160 { &hf_p22_ExtensionsField_item
,
5161 { "IPMSExtension", "p22.IPMSExtension_element",
5162 FT_NONE
, BASE_NONE
, NULL
, 0,
5164 { &hf_p22_Body_item
,
5165 { "BodyPart", "p22.BodyPart",
5166 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPart_vals
), 0,
5169 { "basic", "p22.basic",
5170 FT_UINT32
, BASE_DEC
, VALS(p22_T_basic_vals
), 0,
5173 { "ia5-text", "p22.ia5_text_element",
5174 FT_NONE
, BASE_NONE
, NULL
, 0,
5175 "IA5TextBodyPart", HFILL
}},
5176 { &hf_p22_g3_facsimile
,
5177 { "g3-facsimile", "p22.g3_facsimile_element",
5178 FT_NONE
, BASE_NONE
, NULL
, 0,
5179 "G3FacsimileBodyPart", HFILL
}},
5180 { &hf_p22_g4_class1
,
5181 { "g4-class1", "p22.g4_class1",
5182 FT_UINT32
, BASE_DEC
, NULL
, 0,
5183 "G4Class1BodyPart", HFILL
}},
5185 { "teletex", "p22.teletex_element",
5186 FT_NONE
, BASE_NONE
, NULL
, 0,
5187 "TeletexBodyPart", HFILL
}},
5189 { "videotex", "p22.videotex_element",
5190 FT_NONE
, BASE_NONE
, NULL
, 0,
5191 "VideotexBodyPart", HFILL
}},
5192 { &hf_p22_encrypted_bp
,
5193 { "encrypted", "p22.encrypted_element",
5194 FT_NONE
, BASE_NONE
, NULL
, 0,
5195 "EncryptedBodyPart", HFILL
}},
5197 { "message", "p22.message_element",
5198 FT_NONE
, BASE_NONE
, NULL
, 0,
5199 "MessageBodyPart", HFILL
}},
5200 { &hf_p22_mixed_mode
,
5201 { "mixed-mode", "p22.mixed_mode",
5202 FT_UINT32
, BASE_DEC
, NULL
, 0,
5203 "MixedModeBodyPart", HFILL
}},
5204 { &hf_p22_bilaterally_defined
,
5205 { "bilaterally-defined", "p22.bilaterally_defined",
5206 FT_BYTES
, BASE_NONE
, NULL
, 0,
5207 "BilaterallyDefinedBodyPart", HFILL
}},
5208 { &hf_p22_nationally_defined
,
5209 { "nationally-defined", "p22.nationally_defined_element",
5210 FT_NONE
, BASE_NONE
, NULL
, 0,
5211 "NationallyDefinedBodyPart", HFILL
}},
5213 { "extended", "p22.extended_element",
5214 FT_NONE
, BASE_NONE
, NULL
, 0,
5215 "ExtendedBodyPart", HFILL
}},
5216 { &hf_p22_extended_parameters
,
5217 { "parameters", "p22.parameters_element",
5218 FT_NONE
, BASE_NONE
, NULL
, 0,
5219 "INSTANCE_OF", HFILL
}},
5220 { &hf_p22_extended_data
,
5221 { "data", "p22.extended.data_element",
5222 FT_NONE
, BASE_NONE
, NULL
, 0,
5223 "INSTANCE_OF", HFILL
}},
5224 { &hf_p22_ia5text_parameters
,
5225 { "parameters", "p22.parameters_element",
5226 FT_NONE
, BASE_NONE
, NULL
, 0,
5227 "IA5TextParameters", HFILL
}},
5228 { &hf_p22_ia5text_data
,
5229 { "data", "p22.ia5text.data",
5230 FT_STRING
, BASE_NONE
, NULL
, 0,
5231 "IA5TextData", HFILL
}},
5232 { &hf_p22_repertoire
,
5233 { "repertoire", "p22.repertoire",
5234 FT_UINT32
, BASE_DEC
, VALS(p22_Repertoire_vals
), 0,
5236 { &hf_p22_g3facsimile_parameters
,
5237 { "parameters", "p22.parameters_element",
5238 FT_NONE
, BASE_NONE
, NULL
, 0,
5239 "G3FacsimileParameters", HFILL
}},
5240 { &hf_p22_g3facsimile_data
,
5241 { "data", "p22.g3facsimile.data",
5242 FT_UINT32
, BASE_DEC
, NULL
, 0,
5243 "G3FacsimileData", HFILL
}},
5244 { &hf_p22_number_of_pages
,
5245 { "number-of-pages", "p22.number_of_pages",
5246 FT_INT32
, BASE_DEC
, NULL
, 0,
5247 "INTEGER", HFILL
}},
5248 { &hf_p22_g3facsimile_non_basic_parameters
,
5249 { "non-basic-parameters", "p22.non_basic_parameters",
5250 FT_BYTES
, BASE_NONE
, NULL
, 0,
5251 "G3FacsimileNonBasicParameters", HFILL
}},
5252 { &hf_p22_G3FacsimileData_item
,
5253 { "G3FacsimileData item", "p22.G3FacsimileData_item",
5254 FT_BYTES
, BASE_NONE
, NULL
, 0,
5255 "BIT_STRING", HFILL
}},
5256 { &hf_p22_G4Class1BodyPart_item
,
5257 { "Interchange-Data-Element", "p22.Interchange_Data_Element_element",
5258 FT_NONE
, BASE_NONE
, NULL
, 0,
5260 { &hf_p22_MixedModeBodyPart_item
,
5261 { "Interchange-Data-Element", "p22.Interchange_Data_Element_element",
5262 FT_NONE
, BASE_NONE
, NULL
, 0,
5264 { &hf_p22_teletex_parameters
,
5265 { "parameters", "p22.parameters_element",
5266 FT_NONE
, BASE_NONE
, NULL
, 0,
5267 "TeletexParameters", HFILL
}},
5268 { &hf_p22_teletex_data
,
5269 { "data", "p22.teletex.data",
5270 FT_UINT32
, BASE_DEC
, NULL
, 0,
5271 "TeletexData", HFILL
}},
5272 { &hf_p22_telex_compatible
,
5273 { "telex-compatible", "p22.telex_compatible",
5274 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5275 "BOOLEAN", HFILL
}},
5276 { &hf_p22_teletex_non_basic_parameters
,
5277 { "non-basic-parameters", "p22.non_basic_parameters_element",
5278 FT_NONE
, BASE_NONE
, NULL
, 0,
5279 "TeletexNonBasicParameters", HFILL
}},
5280 { &hf_p22_TeletexData_item
,
5281 { "TeletexData item", "p22.TeletexData_item",
5282 FT_STRING
, BASE_NONE
, NULL
, 0,
5283 "TeletexString", HFILL
}},
5284 { &hf_p22_videotex_parameters
,
5285 { "parameters", "p22.parameters_element",
5286 FT_NONE
, BASE_NONE
, NULL
, 0,
5287 "VideotexParameters", HFILL
}},
5288 { &hf_p22_videotex_data
,
5289 { "data", "p22.videotex.data",
5290 FT_STRING
, BASE_NONE
, NULL
, 0,
5291 "VideotexData", HFILL
}},
5293 { "syntax", "p22.syntax",
5294 FT_INT32
, BASE_DEC
, VALS(p22_VideotexSyntax_vals
), 0,
5295 "VideotexSyntax", HFILL
}},
5296 { &hf_p22_encrypted_parameters
,
5297 { "parameters", "p22.parameters_element",
5298 FT_NONE
, BASE_NONE
, NULL
, 0,
5299 "EncryptedParameters", HFILL
}},
5300 { &hf_p22_encrypted_data
,
5301 { "data", "p22.encrypted.data",
5302 FT_BYTES
, BASE_NONE
, NULL
, 0,
5303 "EncryptedData", HFILL
}},
5304 { &hf_p22_algorithm_identifier
,
5305 { "algorithm-identifier", "p22.algorithm_identifier_element",
5306 FT_NONE
, BASE_NONE
, NULL
, 0,
5307 "AlgorithmIdentifier", HFILL
}},
5308 { &hf_p22_originator_certificates
,
5309 { "originator-certificates", "p22.originator_certificates",
5310 FT_UINT32
, BASE_DEC
, NULL
, 0,
5311 "ExtendedCertificates", HFILL
}},
5312 { &hf_p22_message_parameters
,
5313 { "parameters", "p22.parameters_element",
5314 FT_NONE
, BASE_NONE
, NULL
, 0,
5315 "MessageParameters", HFILL
}},
5316 { &hf_p22_message_data
,
5317 { "data", "p22.message.data_element",
5318 FT_NONE
, BASE_NONE
, NULL
, 0,
5319 "MessageData", HFILL
}},
5320 { &hf_p22_delivery_time
,
5321 { "delivery-time", "p22.delivery_time",
5322 FT_STRING
, BASE_NONE
, NULL
, 0,
5323 "MessageDeliveryTime", HFILL
}},
5324 { &hf_p22_delivery_envelope
,
5325 { "delivery-envelope", "p22.delivery_envelope_element",
5326 FT_NONE
, BASE_NONE
, NULL
, 0,
5327 "OtherMessageDeliveryFields", HFILL
}},
5328 { &hf_p22_subject_ipm
,
5329 { "subject-ipm", "p22.subject_ipm_element",
5330 FT_NONE
, BASE_NONE
, NULL
, 0,
5331 "SubjectIPMField", HFILL
}},
5332 { &hf_p22_ipn_originator
,
5333 { "ipn-originator", "p22.ipn_originator_element",
5334 FT_NONE
, BASE_NONE
, NULL
, 0,
5335 "IPNOriginatorField", HFILL
}},
5336 { &hf_p22_ipm_intended_recipient
,
5337 { "ipm-intended-recipient", "p22.ipm_intended_recipient_element",
5338 FT_NONE
, BASE_NONE
, NULL
, 0,
5339 "IPMIntendedRecipientField", HFILL
}},
5340 { &hf_p22_conversion_eits
,
5341 { "conversion-eits", "p22.conversion_eits_element",
5342 FT_NONE
, BASE_NONE
, NULL
, 0,
5343 "ConversionEITsField", HFILL
}},
5344 { &hf_p22_notification_extensions
,
5345 { "notification-extensions", "p22.notification_extensions",
5346 FT_UINT32
, BASE_DEC
, NULL
, 0,
5347 "NotificationExtensionsField", HFILL
}},
5348 { &hf_p22_non_receipt_reason
,
5349 { "non-receipt-reason", "p22.non_receipt_reason",
5350 FT_UINT32
, BASE_DEC
, VALS(p22_NonReceiptReasonField_vals
), 0,
5351 "NonReceiptReasonField", HFILL
}},
5352 { &hf_p22_discard_reason
,
5353 { "discard-reason", "p22.discard_reason",
5354 FT_UINT32
, BASE_DEC
, VALS(p22_DiscardReasonField_vals
), 0,
5355 "DiscardReasonField", HFILL
}},
5356 { &hf_p22_auto_forward_comment
,
5357 { "auto-forward-comment", "p22.auto_forward_comment",
5358 FT_STRING
, BASE_NONE
, NULL
, 0,
5359 "AutoForwardCommentField", HFILL
}},
5360 { &hf_p22_returned_ipm
,
5361 { "returned-ipm", "p22.returned_ipm_element",
5362 FT_NONE
, BASE_NONE
, NULL
, 0,
5363 "ReturnedIPMField", HFILL
}},
5364 { &hf_p22_nrn_extensions
,
5365 { "nrn-extensions", "p22.nrn_extensions",
5366 FT_UINT32
, BASE_DEC
, NULL
, 0,
5367 "NRNExtensionsField", HFILL
}},
5368 { &hf_p22_receipt_time
,
5369 { "receipt-time", "p22.receipt_time",
5370 FT_STRING
, BASE_NONE
, NULL
, 0,
5371 "ReceiptTimeField", HFILL
}},
5372 { &hf_p22_acknowledgment_mode
,
5373 { "acknowledgment-mode", "p22.acknowledgment_mode",
5374 FT_UINT32
, BASE_DEC
, VALS(p22_AcknowledgmentModeField_vals
), 0,
5375 "AcknowledgmentModeField", HFILL
}},
5376 { &hf_p22_suppl_receipt_info
,
5377 { "suppl-receipt-info", "p22.suppl_receipt_info",
5378 FT_STRING
, BASE_NONE
, NULL
, 0,
5379 "SupplReceiptInfoField", HFILL
}},
5380 { &hf_p22_rn_extensions
,
5381 { "rn-extensions", "p22.rn_extensions",
5382 FT_UINT32
, BASE_DEC
, NULL
, 0,
5383 "RNExtensionsField", HFILL
}},
5384 { &hf_p22_NotificationExtensionsField_item
,
5385 { "IPMSExtension", "p22.IPMSExtension_element",
5386 FT_NONE
, BASE_NONE
, NULL
, 0,
5388 { &hf_p22_NRNExtensionsField_item
,
5389 { "IPMSExtension", "p22.IPMSExtension_element",
5390 FT_NONE
, BASE_NONE
, NULL
, 0,
5392 { &hf_p22_RNExtensionsField_item
,
5393 { "IPMSExtension", "p22.IPMSExtension_element",
5394 FT_NONE
, BASE_NONE
, NULL
, 0,
5396 { &hf_p22_OtherNotificationTypeFields_item
,
5397 { "IPMSExtension", "p22.IPMSExtension_element",
5398 FT_NONE
, BASE_NONE
, NULL
, 0,
5401 { "advice", "p22.advice",
5402 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPart_vals
), 0,
5403 "BodyPart", HFILL
}},
5404 { &hf_p22_next_available
,
5405 { "next-available", "p22.next_available",
5406 FT_STRING
, BASE_NONE
, NULL
, 0,
5408 { &hf_p22_new_address
,
5409 { "new-address", "p22.new_address_element",
5410 FT_NONE
, BASE_NONE
, NULL
, 0,
5411 "ORDescriptor", HFILL
}},
5412 { &hf_p22_effective_from
,
5413 { "effective-from", "p22.effective_from",
5414 FT_STRING
, BASE_NONE
, NULL
, 0,
5416 { &hf_p22_assembly_instructions
,
5417 { "assembly-instructions", "p22.assembly_instructions",
5418 FT_UINT32
, BASE_DEC
, NULL
, 0,
5419 "BodyPartReferences", HFILL
}},
5420 { &hf_p22_BodyPartReferences_item
,
5421 { "BodyPartReference", "p22.BodyPartReference",
5422 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPartReference_vals
), 0,
5424 { &hf_p22_stored_entry
,
5425 { "stored-entry", "p22.stored_entry",
5426 FT_UINT32
, BASE_DEC
, NULL
, 0,
5427 "SequenceNumber", HFILL
}},
5428 { &hf_p22_stored_content
,
5429 { "stored-content", "p22.stored_content",
5430 FT_UINT32
, BASE_DEC
, NULL
, 0,
5431 "SequenceNumber", HFILL
}},
5432 { &hf_p22_submitted_body_part
,
5433 { "submitted-body-part", "p22.submitted_body_part",
5434 FT_UINT64
, BASE_DEC
, NULL
, 0,
5435 "INTEGER_1_MAX", HFILL
}},
5436 { &hf_p22_stored_body_part
,
5437 { "stored-body-part", "p22.stored_body_part_element",
5438 FT_NONE
, BASE_NONE
, NULL
, 0,
5440 { &hf_p22_message_entry
,
5441 { "message-entry", "p22.message_entry",
5442 FT_UINT32
, BASE_DEC
, NULL
, 0,
5443 "SequenceNumber", HFILL
}},
5444 { &hf_p22_body_part_number
,
5445 { "body-part-number", "p22.body_part_number",
5446 FT_UINT64
, BASE_DEC
, NULL
, 0,
5447 "BodyPartNumber", HFILL
}},
5448 { &hf_p22_Languages_item
,
5449 { "Language", "p22.Language",
5450 FT_STRING
, BASE_NONE
, NULL
, 0,
5452 { &hf_p22_BodyPartSignatures_item
,
5453 { "BodyPartSignatures item", "p22.BodyPartSignatures_item_element",
5454 FT_NONE
, BASE_NONE
, NULL
, 0,
5456 { &hf_p22_body_part_signature
,
5457 { "body-part-signature", "p22.body_part_signature_element",
5458 FT_NONE
, BASE_NONE
, NULL
, 0,
5459 "BodyPartSignature", HFILL
}},
5460 { &hf_p22_originator_certificate_selector
,
5461 { "originator-certificate-selector", "p22.originator_certificate_selector_element",
5462 FT_NONE
, BASE_NONE
, NULL
, 0,
5463 "CertificateAssertion", HFILL
}},
5464 { &hf_p22_algorithmIdentifier
,
5465 { "algorithmIdentifier", "p22.algorithmIdentifier_element",
5466 FT_NONE
, BASE_NONE
, NULL
, 0,
5468 { &hf_p22_encrypted
,
5469 { "encrypted", "p22.encrypted",
5470 FT_BYTES
, BASE_NONE
, NULL
, 0,
5471 "BIT_STRING", HFILL
}},
5472 { &hf_p22_content_security_label
,
5473 { "content-security-label", "p22.content_security_label_element",
5474 FT_NONE
, BASE_NONE
, NULL
, 0,
5475 "SecurityLabel", HFILL
}},
5476 { &hf_p22_heading_security_label
,
5477 { "heading-security-label", "p22.heading_security_label_element",
5478 FT_NONE
, BASE_NONE
, NULL
, 0,
5479 "SecurityLabel", HFILL
}},
5480 { &hf_p22_body_part_security_labels
,
5481 { "body-part-security-labels", "p22.body_part_security_labels",
5482 FT_UINT32
, BASE_DEC
, NULL
, 0,
5483 "SEQUENCE_OF_BodyPartSecurityLabel", HFILL
}},
5484 { &hf_p22_body_part_security_labels_item
,
5485 { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel",
5486 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPartSecurityLabel_vals
), 0,
5488 { &hf_p22_body_part_unlabelled
,
5489 { "body-part-unlabelled", "p22.body_part_unlabelled_element",
5490 FT_NONE
, BASE_NONE
, NULL
, 0,
5492 { &hf_p22_body_part_security_label
,
5493 { "body-part-security-label", "p22.body_part_security_label_element",
5494 FT_NONE
, BASE_NONE
, NULL
, 0,
5495 "SecurityLabel", HFILL
}},
5496 { &hf_p22_CirculationList_item
,
5497 { "CirculationMember", "p22.CirculationMember_element",
5498 FT_NONE
, BASE_NONE
, NULL
, 0,
5500 { &hf_p22_circulation_recipient
,
5501 { "circulation-recipient", "p22.circulation_recipient_element",
5502 FT_NONE
, BASE_NONE
, NULL
, 0,
5503 "RecipientSpecifier", HFILL
}},
5505 { "checked", "p22.checked",
5506 FT_UINT32
, BASE_DEC
, VALS(p22_Checkmark_vals
), 0,
5507 "Checkmark", HFILL
}},
5509 { "simple", "p22.simple_element",
5510 FT_NONE
, BASE_NONE
, NULL
, 0,
5512 { &hf_p22_timestamped
,
5513 { "timestamped", "p22.timestamped",
5514 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
5515 "CirculationTime", HFILL
}},
5517 { "signed", "p22.signed_element",
5518 FT_NONE
, BASE_NONE
, NULL
, 0,
5519 "CirculationSignature", HFILL
}},
5520 { &hf_p22_circulation_signature_algorithm_identifier
,
5521 { "algorithm-identifier", "p22.algorithm_identifier_element",
5522 FT_NONE
, BASE_NONE
, NULL
, 0,
5523 "CirculationSignatureAlgorithmIdentifier", HFILL
}},
5524 { &hf_p22_timestamp
,
5525 { "timestamp", "p22.timestamp",
5526 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
5527 "CirculationTime", HFILL
}},
5528 { &hf_p22_circulation_signature_data
,
5529 { "circulation-signature-data", "p22.circulation_signature_data_element",
5530 FT_NONE
, BASE_NONE
, NULL
, 0,
5531 "CirculationSignatureData", HFILL
}},
5532 { &hf_p22_DistributionCodes_item
,
5533 { "DistributionCode", "p22.DistributionCode_element",
5534 FT_NONE
, BASE_NONE
, NULL
, 0,
5537 { "oid-code", "p22.oid_code",
5538 FT_OID
, BASE_NONE
, NULL
, 0,
5539 "OBJECT_IDENTIFIER", HFILL
}},
5540 { &hf_p22_alphanumeric_code
,
5541 { "alphanumeric-code", "p22.alphanumeric_code_element",
5542 FT_NONE
, BASE_NONE
, NULL
, 0,
5543 "AlphaCode", HFILL
}},
5544 { &hf_p22_or_descriptor
,
5545 { "or-descriptor", "p22.or_descriptor_element",
5546 FT_NONE
, BASE_NONE
, NULL
, 0,
5547 "ORDescriptor", HFILL
}},
5548 { &hf_p22_InformationCategories_item
,
5549 { "InformationCategory", "p22.InformationCategory_element",
5550 FT_NONE
, BASE_NONE
, NULL
, 0,
5552 { &hf_p22_reference
,
5553 { "reference", "p22.reference",
5554 FT_OID
, BASE_NONE
, NULL
, 0,
5555 "OBJECT_IDENTIFIER", HFILL
}},
5556 { &hf_p22_description
,
5557 { "description", "p22.description_element",
5558 FT_NONE
, BASE_NONE
, NULL
, 0,
5559 "DescriptionString", HFILL
}},
5560 { &hf_p22_ManualHandlingInstructions_item
,
5561 { "ManualHandlingInstruction", "p22.ManualHandlingInstruction_element",
5562 FT_NONE
, BASE_NONE
, NULL
, 0,
5564 { &hf_p22_GeneralTextParameters_item
,
5565 { "CharacterSetRegistration", "p22.CharacterSetRegistration",
5566 FT_UINT32
, BASE_DEC
, NULL
, 0,
5568 { &hf_p22_related_stored_file
,
5569 { "related-stored-file", "p22.related_stored_file",
5570 FT_UINT32
, BASE_DEC
, NULL
, 0,
5571 "RelatedStoredFile", HFILL
}},
5572 { &hf_p22_contents_type
,
5573 { "contents-type", "p22.contents_type",
5574 FT_UINT32
, BASE_DEC
, VALS(p22_Contents_Type_Attribute_vals
), 0,
5575 "ContentsTypeParameter", HFILL
}},
5576 { &hf_p22_environment
,
5577 { "environment", "p22.environment_element",
5578 FT_NONE
, BASE_NONE
, NULL
, 0,
5579 "EnvironmentParameter", HFILL
}},
5580 { &hf_p22_compression
,
5581 { "compression", "p22.compression_element",
5582 FT_NONE
, BASE_NONE
, NULL
, 0,
5583 "CompressionParameter", HFILL
}},
5584 { &hf_p22_file_attributes
,
5585 { "file-attributes", "p22.file_attributes_element",
5586 FT_NONE
, BASE_NONE
, NULL
, 0,
5587 "FileAttributes", HFILL
}},
5588 { &hf_p22_FileTransferData_item
,
5589 { "FileTransferData item", "p22.FileTransferData_item_element",
5590 FT_NONE
, BASE_NONE
, NULL
, 0,
5591 "EXTERNAL", HFILL
}},
5592 { &hf_p22_RelatedStoredFile_item
,
5593 { "RelatedStoredFile item", "p22.RelatedStoredFile_item_element",
5594 FT_NONE
, BASE_NONE
, NULL
, 0,
5596 { &hf_p22_file_identifier
,
5597 { "file-identifier", "p22.file_identifier",
5598 FT_UINT32
, BASE_DEC
, VALS(p22_FileIdentifier_vals
), 0,
5599 "FileIdentifier", HFILL
}},
5600 { &hf_p22_relationship
,
5601 { "relationship", "p22.relationship",
5602 FT_UINT32
, BASE_DEC
, VALS(p22_Relationship_vals
), 0,
5604 { &hf_p22_pathname_and_version
,
5605 { "pathname-and-version", "p22.pathname_and_version_element",
5606 FT_NONE
, BASE_NONE
, NULL
, 0,
5607 "PathnameandVersion", HFILL
}},
5608 { &hf_p22_cross_reference
,
5609 { "cross-reference", "p22.cross_reference_element",
5610 FT_NONE
, BASE_NONE
, NULL
, 0,
5611 "CrossReference", HFILL
}},
5613 { "pathname", "p22.pathname",
5614 FT_UINT32
, BASE_DEC
, VALS(p22_Pathname_Attribute_vals
), 0,
5615 "Pathname_Attribute", HFILL
}},
5616 { &hf_p22_file_version
,
5617 { "file-version", "p22.file_version",
5618 FT_STRING
, BASE_NONE
, NULL
, 0,
5619 "GraphicString", HFILL
}},
5620 { &hf_p22_application_cross_reference
,
5621 { "application-cross-reference", "p22.application_cross_reference",
5622 FT_BYTES
, BASE_NONE
, NULL
, 0,
5623 "OCTET_STRING", HFILL
}},
5624 { &hf_p22_message_reference
,
5625 { "message-reference", "p22.message_reference_element",
5626 FT_NONE
, BASE_NONE
, NULL
, 0,
5627 "MessageReference", HFILL
}},
5628 { &hf_p22_body_part_reference
,
5629 { "body-part-reference", "p22.body_part_reference",
5630 FT_INT32
, BASE_DEC
, NULL
, 0,
5631 "INTEGER", HFILL
}},
5632 { &hf_p22_user_relative_identifier_ref
,
5633 { "user-relative-identifier", "p22.user_relative_identifier",
5634 FT_STRING
, BASE_NONE
, NULL
, 0,
5635 "PrintableString", HFILL
}},
5636 { &hf_p22_explicit_relationship
,
5637 { "explicit-relationship", "p22.explicit_relationship",
5638 FT_INT32
, BASE_DEC
, VALS(p22_ExplicitRelationship_vals
), 0,
5639 "ExplicitRelationship", HFILL
}},
5640 { &hf_p22_descriptive_relationship
,
5641 { "descriptive-relationship", "p22.descriptive_relationship",
5642 FT_STRING
, BASE_NONE
, NULL
, 0,
5643 "GraphicString", HFILL
}},
5644 { &hf_p22_document_type
,
5645 { "document-type", "p22.document_type_element",
5646 FT_NONE
, BASE_NONE
, NULL
, 0,
5647 "T_document_type", HFILL
}},
5648 { &hf_p22_document_type_name
,
5649 { "document-type-name", "p22.document_type_name",
5650 FT_OID
, BASE_NONE
, NULL
, 0,
5652 { &hf_p22_parameter
,
5653 { "parameter", "p22.parameter_element",
5654 FT_NONE
, BASE_NONE
, NULL
, 0,
5656 { &hf_p22_constraint_set_and_abstract_syntax
,
5657 { "constraint-set-and-abstract-syntax", "p22.constraint_set_and_abstract_syntax_element",
5658 FT_NONE
, BASE_NONE
, NULL
, 0,
5659 "T_constraint_set_and_abstract_syntax", HFILL
}},
5660 { &hf_p22_constraint_set_name
,
5661 { "constraint-set-name", "p22.constraint_set_name",
5662 FT_OID
, BASE_NONE
, NULL
, 0,
5664 { &hf_p22_abstract_syntax_name
,
5665 { "abstract-syntax-name", "p22.abstract_syntax_name",
5666 FT_OID
, BASE_NONE
, NULL
, 0,
5668 { &hf_p22_application_reference
,
5669 { "application-reference", "p22.application_reference",
5670 FT_UINT32
, BASE_DEC
, VALS(p22_GeneralIdentifier_vals
), 0,
5671 "GeneralIdentifier", HFILL
}},
5673 { "machine", "p22.machine",
5674 FT_UINT32
, BASE_DEC
, VALS(p22_GeneralIdentifier_vals
), 0,
5675 "GeneralIdentifier", HFILL
}},
5676 { &hf_p22_operating_system
,
5677 { "operating-system", "p22.operating_system",
5678 FT_OID
, BASE_NONE
, NULL
, 0,
5679 "OBJECT_IDENTIFIER", HFILL
}},
5680 { &hf_p22_user_visible_string
,
5681 { "user-visible-string", "p22.user_visible_string",
5682 FT_UINT32
, BASE_DEC
, NULL
, 0,
5684 { &hf_p22_user_visible_string_item
,
5685 { "user-visible-string item", "p22.user_visible_string_item",
5686 FT_STRING
, BASE_NONE
, NULL
, 0,
5687 "GraphicString", HFILL
}},
5688 { &hf_p22_registered_identifier
,
5689 { "registered-identifier", "p22.registered_identifier",
5690 FT_OID
, BASE_NONE
, NULL
, 0,
5691 "OBJECT_IDENTIFIER", HFILL
}},
5692 { &hf_p22_descriptive_identifier
,
5693 { "descriptive-identifier", "p22.descriptive_identifier",
5694 FT_UINT32
, BASE_DEC
, NULL
, 0,
5696 { &hf_p22_descriptive_identifier_item
,
5697 { "descriptive-identifier item", "p22.descriptive_identifier_item",
5698 FT_STRING
, BASE_NONE
, NULL
, 0,
5699 "GraphicString", HFILL
}},
5700 { &hf_p22_compression_algorithm_id
,
5701 { "compression-algorithm-id", "p22.compression_algorithm_id",
5702 FT_OID
, BASE_NONE
, NULL
, 0,
5704 { &hf_p22_compression_algorithm_param
,
5705 { "compression-algorithm-param", "p22.compression_algorithm_param_element",
5706 FT_NONE
, BASE_NONE
, NULL
, 0,
5708 { &hf_p22_permitted_actions
,
5709 { "permitted-actions", "p22.permitted_actions",
5710 FT_BYTES
, BASE_NONE
, NULL
, 0,
5711 "Permitted_Actions_Attribute", HFILL
}},
5712 { &hf_p22_storage_account
,
5713 { "storage-account", "p22.storage_account",
5714 FT_UINT32
, BASE_DEC
, VALS(p22_Account_Attribute_vals
), 0,
5715 "Account_Attribute", HFILL
}},
5716 { &hf_p22_date_and_time_of_creation
,
5717 { "date-and-time-of-creation", "p22.date_and_time_of_creation",
5718 FT_UINT32
, BASE_DEC
, VALS(ftam_Date_and_Time_Attribute_vals
), 0,
5719 "Date_and_Time_Attribute", HFILL
}},
5720 { &hf_p22_date_and_time_of_last_modification
,
5721 { "date-and-time-of-last-modification", "p22.date_and_time_of_last_modification",
5722 FT_UINT32
, BASE_DEC
, VALS(ftam_Date_and_Time_Attribute_vals
), 0,
5723 "Date_and_Time_Attribute", HFILL
}},
5724 { &hf_p22_date_and_time_of_last_read_access
,
5725 { "date-and-time-of-last-read-access", "p22.date_and_time_of_last_read_access",
5726 FT_UINT32
, BASE_DEC
, VALS(ftam_Date_and_Time_Attribute_vals
), 0,
5727 "Date_and_Time_Attribute", HFILL
}},
5728 { &hf_p22_date_and_time_of_last_attribute_modification
,
5729 { "date-and-time-of-last-attribute-modification", "p22.date_and_time_of_last_attribute_modification",
5730 FT_UINT32
, BASE_DEC
, VALS(ftam_Date_and_Time_Attribute_vals
), 0,
5731 "Date_and_Time_Attribute", HFILL
}},
5732 { &hf_p22_identity_of_creator
,
5733 { "identity-of-creator", "p22.identity_of_creator",
5734 FT_UINT32
, BASE_DEC
, VALS(p22_User_Identity_Attribute_vals
), 0,
5735 "User_Identity_Attribute", HFILL
}},
5736 { &hf_p22_identity_of_last_modifier
,
5737 { "identity-of-last-modifier", "p22.identity_of_last_modifier",
5738 FT_UINT32
, BASE_DEC
, VALS(p22_User_Identity_Attribute_vals
), 0,
5739 "User_Identity_Attribute", HFILL
}},
5740 { &hf_p22_identity_of_last_reader
,
5741 { "identity-of-last-reader", "p22.identity_of_last_reader",
5742 FT_UINT32
, BASE_DEC
, VALS(p22_User_Identity_Attribute_vals
), 0,
5743 "User_Identity_Attribute", HFILL
}},
5744 { &hf_p22_identity_of_last_attribute_modifier
,
5745 { "identity-of-last-attribute-modifier", "p22.identity_of_last_attribute_modifier",
5746 FT_UINT32
, BASE_DEC
, VALS(p22_User_Identity_Attribute_vals
), 0,
5747 "User_Identity_Attribute", HFILL
}},
5748 { &hf_p22_object_availability
,
5749 { "object-availability", "p22.object_availability",
5750 FT_UINT32
, BASE_DEC
, VALS(ftam_Object_Availability_Attribute_vals
), 0,
5751 "Object_Availability_Attribute", HFILL
}},
5752 { &hf_p22_object_size
,
5753 { "object-size", "p22.object_size",
5754 FT_UINT32
, BASE_DEC
, VALS(ftam_Object_Size_Attribute_vals
), 0,
5755 "Object_Size_Attribute", HFILL
}},
5756 { &hf_p22_future_object_size
,
5757 { "future-object-size", "p22.future_object_size",
5758 FT_UINT32
, BASE_DEC
, VALS(ftam_Object_Size_Attribute_vals
), 0,
5759 "Object_Size_Attribute", HFILL
}},
5760 { &hf_p22_access_control
,
5761 { "access-control", "p22.access_control",
5762 FT_UINT32
, BASE_DEC
, VALS(p22_Access_Control_Attribute_vals
), 0,
5763 "Access_Control_Attribute", HFILL
}},
5764 { &hf_p22_legal_qualifications
,
5765 { "legal-qualifications", "p22.legal_qualifications",
5766 FT_UINT32
, BASE_DEC
, VALS(ftam_Legal_Qualification_Attribute_vals
), 0,
5767 "Legal_Qualification_Attribute", HFILL
}},
5768 { &hf_p22_private_use
,
5769 { "private-use", "p22.private_use",
5770 FT_UINT32
, BASE_DEC
, VALS(ftam_Private_Use_Attribute_vals
), 0,
5771 "Private_Use_Attribute", HFILL
}},
5772 { &hf_p22_attribute_extensions
,
5773 { "attribute-extensions", "p22.attribute_extensions",
5774 FT_UINT32
, BASE_DEC
, NULL
, 0,
5776 { &hf_p22_incomplete_pathname
,
5777 { "incomplete-pathname", "p22.incomplete_pathname",
5778 FT_UINT32
, BASE_DEC
, NULL
, 0,
5779 "Pathname", HFILL
}},
5780 { &hf_p22_complete_pathname
,
5781 { "complete-pathname", "p22.complete_pathname",
5782 FT_UINT32
, BASE_DEC
, NULL
, 0,
5783 "Pathname", HFILL
}},
5784 { &hf_p22_no_value_available
,
5785 { "no-value-available", "p22.no_value_available_element",
5786 FT_NONE
, BASE_NONE
, NULL
, 0,
5788 { &hf_p22_account_actual_values
,
5789 { "actual-values", "p22.account.actual-values",
5790 FT_STRING
, BASE_NONE
, NULL
, 0,
5791 "Account", HFILL
}},
5792 { &hf_p22_identity_actual_values
,
5793 { "actual-values", "p22.identity.actual-values",
5794 FT_STRING
, BASE_NONE
, NULL
, 0,
5795 "User_Identity", HFILL
}},
5796 { &hf_p22_actual_values
,
5797 { "actual-values", "p22.actual_values",
5798 FT_UINT32
, BASE_DEC
, NULL
, 0,
5799 "SET_OF_Access_Control_Element", HFILL
}},
5800 { &hf_p22_actual_values_item
,
5801 { "Access-Control-Element", "p22.Access_Control_Element_element",
5802 FT_NONE
, BASE_NONE
, NULL
, 0,
5804 { &hf_p22_action_list
,
5805 { "action-list", "p22.action_list",
5806 FT_BYTES
, BASE_NONE
, NULL
, 0,
5807 "Access_Request", HFILL
}},
5808 { &hf_p22_concurrency_access
,
5809 { "concurrency-access", "p22.concurrency_access_element",
5810 FT_NONE
, BASE_NONE
, NULL
, 0,
5813 { "identity", "p22.identity",
5814 FT_STRING
, BASE_NONE
, NULL
, 0,
5815 "User_Identity", HFILL
}},
5816 { &hf_p22_passwords
,
5817 { "passwords", "p22.passwords_element",
5818 FT_NONE
, BASE_NONE
, NULL
, 0,
5819 "Access_Passwords", HFILL
}},
5821 { "location", "p22.location_element",
5822 FT_NONE
, BASE_NONE
, NULL
, 0,
5823 "Application_Entity_Title", HFILL
}},
5824 { &hf_p22_read_password
,
5825 { "read-password", "p22.read_password",
5826 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5827 "Password", HFILL
}},
5828 { &hf_p22_insert_password
,
5829 { "insert-password", "p22.insert_password",
5830 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5831 "Password", HFILL
}},
5832 { &hf_p22_replace_password
,
5833 { "replace-password", "p22.replace_password",
5834 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5835 "Password", HFILL
}},
5836 { &hf_p22_extend_password
,
5837 { "extend-password", "p22.extend_password",
5838 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5839 "Password", HFILL
}},
5840 { &hf_p22_erase_password
,
5841 { "erase-password", "p22.erase_password",
5842 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5843 "Password", HFILL
}},
5844 { &hf_p22_read_attribute_password
,
5845 { "read-attribute-password", "p22.read_attribute_password",
5846 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5847 "Password", HFILL
}},
5848 { &hf_p22_change_attribute_password
,
5849 { "change-attribute-password", "p22.change_attribute_password",
5850 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5851 "Password", HFILL
}},
5852 { &hf_p22_delete_password
,
5853 { "delete-password", "p22.delete_password",
5854 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5855 "Password", HFILL
}},
5856 { &hf_p22_pass_passwords
,
5857 { "pass-passwords", "p22.pass_passwords",
5858 FT_UINT32
, BASE_DEC
, NULL
, 0,
5860 { &hf_p22_link_password
,
5861 { "link-password", "p22.link_password",
5862 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5863 "Password", HFILL
}},
5864 { &hf_p22_graphic_string
,
5865 { "graphic-string", "p22.graphic_string",
5866 FT_STRING
, BASE_NONE
, NULL
, 0,
5867 "GraphicString", HFILL
}},
5868 { &hf_p22_octet_string
,
5869 { "octet-string", "p22.octet_string",
5870 FT_BYTES
, BASE_NONE
, NULL
, 0,
5872 { &hf_p22_Pass_Passwords_item
,
5873 { "Password", "p22.Password",
5874 FT_UINT32
, BASE_DEC
, VALS(p22_Password_vals
), 0,
5877 { "ap-title", "p22.ap_title",
5878 FT_UINT32
, BASE_DEC
, VALS(acse_AP_title_vals
), 0,
5880 { &hf_p22_ae_qualifier
,
5881 { "ae-qualifier", "p22.ae_qualifier",
5882 FT_UINT32
, BASE_DEC
, VALS(acse_ASO_qualifier_vals
), 0,
5884 { &hf_p22_voice_message_duration
,
5885 { "voice-message-duration", "p22.voice_message_duration",
5886 FT_INT32
, BASE_DEC
, NULL
, 0,
5887 "INTEGER", HFILL
}},
5888 { &hf_p22_voice_encoding_type
,
5889 { "voice-encoding-type", "p22.voice_encoding_type",
5890 FT_OID
, BASE_NONE
, NULL
, 0,
5891 "OBJECT_IDENTIFIER", HFILL
}},
5892 { &hf_p22_supplementary_information
,
5893 { "supplementary-information", "p22.supplementary_information",
5894 FT_STRING
, BASE_NONE
, NULL
, 0,
5895 "IA5String", HFILL
}},
5896 { &hf_p22_mts_identifier
,
5897 { "mts-identifier", "p22.mts_identifier_element",
5898 FT_NONE
, BASE_NONE
, NULL
, 0,
5899 "MessageDeliveryIdentifier", HFILL
}},
5900 { &hf_p22_submission_proof
,
5901 { "submission-proof", "p22.submission_proof_element",
5902 FT_NONE
, BASE_NONE
, NULL
, 0,
5903 "SubmissionProof", HFILL
}},
5904 { &hf_p22_proof_of_submission
,
5905 { "proof-of-submission", "p22.proof_of_submission_element",
5906 FT_NONE
, BASE_NONE
, NULL
, 0,
5907 "ProofOfSubmission", HFILL
}},
5908 { &hf_p22_originating_MTA_certificate
,
5909 { "originating-MTA-certificate", "p22.originating_MTA_certificate_element",
5910 FT_NONE
, BASE_NONE
, NULL
, 0,
5911 "OriginatingMTACertificate", HFILL
}},
5912 { &hf_p22_message_submission_envelope
,
5913 { "message-submission-envelope", "p22.message_submission_envelope_element",
5914 FT_NONE
, BASE_NONE
, NULL
, 0,
5915 "MessageSubmissionEnvelope", HFILL
}},
5916 { &hf_p22_IPMSynopsis_item
,
5917 { "BodyPartSynopsis", "p22.BodyPartSynopsis",
5918 FT_UINT32
, BASE_DEC
, VALS(p22_BodyPartSynopsis_vals
), 0,
5920 { &hf_p22_message_synopsis
,
5921 { "message", "p22.message_element",
5922 FT_NONE
, BASE_NONE
, NULL
, 0,
5923 "MessageBodyPartSynopsis", HFILL
}},
5924 { &hf_p22_non_message
,
5925 { "non-message", "p22.non_message_element",
5926 FT_NONE
, BASE_NONE
, NULL
, 0,
5927 "NonMessageBodyPartSynopsis", HFILL
}},
5929 { "number", "p22.number",
5930 FT_UINT32
, BASE_DEC
, NULL
, 0,
5931 "SequenceNumber", HFILL
}},
5933 { "synopsis", "p22.synopsis",
5934 FT_UINT32
, BASE_DEC
, NULL
, 0,
5935 "IPMSynopsis", HFILL
}},
5937 { "type", "p22.type",
5938 FT_OID
, BASE_NONE
, NULL
, 0,
5939 "OBJECT_IDENTIFIER", HFILL
}},
5940 { &hf_p22_bp_parameters
,
5941 { "parameters", "p22.parameters_element",
5942 FT_NONE
, BASE_NONE
, NULL
, 0,
5943 "INSTANCE_OF", HFILL
}},
5945 { "size", "p22.size",
5946 FT_INT32
, BASE_DEC
, NULL
, 0,
5947 "INTEGER", HFILL
}},
5948 { &hf_p22_processed
,
5949 { "processed", "p22.processed",
5950 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
5951 "BOOLEAN", HFILL
}},
5953 { "data", "p22.data",
5954 FT_OID
, BASE_NONE
, NULL
, 0,
5955 "OBJECT_IDENTIFIER", HFILL
}},
5956 { &hf_p22_parameters
,
5957 { "parameters", "p22.parameters",
5958 FT_OID
, BASE_NONE
, NULL
, 0,
5959 "OBJECT_IDENTIFIER", HFILL
}},
5960 { &hf_p22_this_child_entry
,
5961 { "this-child-entry", "p22.this_child_entry",
5962 FT_UINT32
, BASE_DEC
, NULL
, 0,
5963 "SequenceNumber", HFILL
}},
5965 { "position", "p22.position",
5966 FT_INT32
, BASE_DEC
, NULL
, 0,
5967 "INTEGER", HFILL
}},
5968 { &hf_p22_BodyPartSignatureVerification_item
,
5969 { "BodyPartSignatureVerification item", "p22.BodyPartSignatureVerification_item_element",
5970 FT_NONE
, BASE_NONE
, NULL
, 0,
5972 { &hf_p22_body_part_sequence_number
,
5973 { "body-part-sequence-number", "p22.body_part_sequence_number",
5974 FT_UINT64
, BASE_DEC
, NULL
, 0,
5975 "BodyPartNumber", HFILL
}},
5976 { &hf_p22_body_part_signature_status
,
5977 { "body-part-signature", "p22.body_part_signature",
5978 FT_INT32
, BASE_DEC
, VALS(p7_SignatureStatus_vals
), 0,
5979 "SignatureStatus", HFILL
}},
5981 { "stored", "p22.stored",
5982 FT_UINT32
, BASE_DEC
, NULL
, 0,
5983 "SET_OF_SequenceNumber", HFILL
}},
5984 { &hf_p22_stored_item
,
5985 { "SequenceNumber", "p22.SequenceNumber",
5986 FT_UINT32
, BASE_DEC
, NULL
, 0,
5989 { "absent", "p22.absent_element",
5990 FT_NONE
, BASE_NONE
, NULL
, 0,
5992 { &hf_p22_no_reply_received
,
5993 { "no-reply-received", "p22.no_reply_received_element",
5994 FT_NONE
, BASE_NONE
, NULL
, 0,
5996 { &hf_p22_received_replies
,
5997 { "received-replies", "p22.received_replies",
5998 FT_UINT32
, BASE_DEC
, NULL
, 0,
5999 "SEQUENCE_OF_SequenceNumber", HFILL
}},
6000 { &hf_p22_received_replies_item
,
6001 { "SequenceNumber", "p22.SequenceNumber",
6002 FT_UINT32
, BASE_DEC
, NULL
, 0,
6004 { &hf_p22_no_ipn_received
,
6005 { "no-ipn-received", "p22.no_ipn_received_element",
6006 FT_NONE
, BASE_NONE
, NULL
, 0,
6008 { &hf_p22_ipns_received
,
6009 { "ipns-received", "p22.ipns_received",
6010 FT_UINT32
, BASE_DEC
, NULL
, 0,
6011 "SEQUENCE_OF_SequenceNumber", HFILL
}},
6012 { &hf_p22_ipns_received_item
,
6013 { "SequenceNumber", "p22.SequenceNumber",
6014 FT_UINT32
, BASE_DEC
, NULL
, 0,
6016 { &hf_p22_content_or_arguments
,
6017 { "content-or-arguments", "p22.content_or_arguments",
6018 FT_UINT32
, BASE_DEC
, VALS(p22_T_content_or_arguments_vals
), 0,
6019 "T_content_or_arguments", HFILL
}},
6020 { &hf_p22_original_content
,
6021 { "original-content", "p22.original_content",
6022 FT_BYTES
, BASE_NONE
, NULL
, 0,
6023 "OriginalContent", HFILL
}},
6024 { &hf_p22_original_security_arguments
,
6025 { "original-security-arguments", "p22.original_security_arguments_element",
6026 FT_NONE
, BASE_NONE
, NULL
, 0,
6028 { &hf_p22_original_content_integrity_check
,
6029 { "original-content-integrity-check", "p22.original_content_integrity_check_element",
6030 FT_NONE
, BASE_NONE
, NULL
, 0,
6031 "OriginalContentIntegrityCheck", HFILL
}},
6032 { &hf_p22_original_message_origin_authentication_check
,
6033 { "original-message-origin-authentication-check", "p22.original_message_origin_authentication_check_element",
6034 FT_NONE
, BASE_NONE
, NULL
, 0,
6035 "OriginalMessageOriginAuthenticationCheck", HFILL
}},
6036 { &hf_p22_original_message_token
,
6037 { "original-message-token", "p22.original_message_token_element",
6038 FT_NONE
, BASE_NONE
, NULL
, 0,
6039 "OriginalMessageToken", HFILL
}},
6040 { &hf_p22_security_diagnostic_code
,
6041 { "security-diagnostic-code", "p22.security_diagnostic_code",
6042 FT_INT32
, BASE_DEC
, VALS(p22_SecurityDiagnosticCode_vals
), 0,
6043 "SecurityDiagnosticCode", HFILL
}},
6044 { &hf_p22_BodyPartTokens_item
,
6045 { "BodyPartTokens item", "p22.BodyPartTokens_item_element",
6046 FT_NONE
, BASE_NONE
, NULL
, 0,
6048 { &hf_p22_body_part_choice
,
6049 { "body-part-choice", "p22.body_part_choice",
6050 FT_UINT32
, BASE_DEC
, VALS(p22_T_body_part_choice_vals
), 0,
6051 "T_body_part_choice", HFILL
}},
6052 { &hf_p22_encryption_token
,
6053 { "encryption-token", "p22.encryption_token_element",
6054 FT_NONE
, BASE_NONE
, NULL
, 0,
6055 "EncryptionToken", HFILL
}},
6056 { &hf_p22_message_or_content_body_part
,
6057 { "message-or-content-body-part", "p22.message_or_content_body_part",
6058 FT_UINT32
, BASE_DEC
, NULL
, 0,
6059 "BodyPartTokens", HFILL
}},
6060 { &hf_p22_encryption_algorithm_identifier
,
6061 { "encryption-algorithm-identifier", "p22.encryption_algorithm_identifier_element",
6062 FT_NONE
, BASE_NONE
, NULL
, 0,
6063 "AlgorithmIdentifier", HFILL
}},
6064 { &hf_p22_encrypted_key
,
6065 { "encrypted-key", "p22.encrypted_key",
6066 FT_BYTES
, BASE_NONE
, NULL
, 0,
6067 "BIT_STRING", HFILL
}},
6068 { &hf_p22_recipient_certificate_selector
,
6069 { "recipient-certificate-selector", "p22.recipient_certificate_selector_element",
6070 FT_NONE
, BASE_NONE
, NULL
, 0,
6071 "CertificateAssertion", HFILL
}},
6072 { &hf_p22_recipient_certificate
,
6073 { "recipient-certificate", "p22.recipient_certificate_element",
6074 FT_NONE
, BASE_NONE
, NULL
, 0,
6075 "Certificates", HFILL
}},
6076 { &hf_p22_ForwardedContentToken_item
,
6077 { "ForwardedContentToken item", "p22.ForwardedContentToken_item_element",
6078 FT_NONE
, BASE_NONE
, NULL
, 0,
6080 { &hf_p22_body_part_token_choice
,
6081 { "body-part-choice", "p22.body_part_choice",
6082 FT_UINT32
, BASE_DEC
, VALS(p22_T_body_part_token_choice_vals
), 0,
6083 "T_body_part_token_choice", HFILL
}},
6084 { &hf_p22_forwarding_token
,
6085 { "forwarding-token", "p22.forwarding_token_element",
6086 FT_NONE
, BASE_NONE
, NULL
, 0,
6087 "MessageToken", HFILL
}},
6088 { &hf_p22_forwarded_content_token
,
6089 { "message-or-content-body-part", "p22.message_or_content_body_part",
6090 FT_UINT32
, BASE_DEC
, NULL
, 0,
6091 "ForwardedContentToken", HFILL
}},
6093 { "choice", "p22.choice",
6094 FT_UINT32
, BASE_DEC
, VALS(p22_T_choice_vals
), 0,
6096 { &hf_p22_non_receipt_fields
,
6097 { "non-receipt-fields", "p22.non_receipt_fields_element",
6098 FT_NONE
, BASE_NONE
, NULL
, 0,
6099 "NonReceiptFields", HFILL
}},
6100 { &hf_p22_receipt_fields
,
6101 { "receipt-fields", "p22.receipt_fields_element",
6102 FT_NONE
, BASE_NONE
, NULL
, 0,
6103 "ReceiptFields", HFILL
}},
6104 { &hf_p22_other_notification_type_fields
,
6105 { "other-notification-type-fields", "p22.other_notification_type_fields",
6106 FT_UINT32
, BASE_DEC
, NULL
, 0,
6107 "OtherNotificationTypeFields", HFILL
}},
6108 { &hf_p22_NotificationRequests_rn
,
6109 { "rn", "p22.NotificationRequests.rn",
6110 FT_BOOLEAN
, 8, NULL
, 0x80,
6112 { &hf_p22_NotificationRequests_nrn
,
6113 { "nrn", "p22.NotificationRequests.nrn",
6114 FT_BOOLEAN
, 8, NULL
, 0x40,
6116 { &hf_p22_NotificationRequests_ipm_return
,
6117 { "ipm-return", "p22.NotificationRequests.ipm.return",
6118 FT_BOOLEAN
, 8, NULL
, 0x20,
6120 { &hf_p22_NotificationRequests_an_supported
,
6121 { "an-supported", "p22.NotificationRequests.an.supported",
6122 FT_BOOLEAN
, 8, NULL
, 0x10,
6124 { &hf_p22_NotificationRequests_suppress_an
,
6125 { "suppress-an", "p22.NotificationRequests.suppress.an",
6126 FT_BOOLEAN
, 8, NULL
, 0x08,
6128 { &hf_p22_Access_Request_read
,
6129 { "read", "p22.Access.Request.read",
6130 FT_BOOLEAN
, 8, NULL
, 0x80,
6132 { &hf_p22_Access_Request_insert
,
6133 { "insert", "p22.Access.Request.insert",
6134 FT_BOOLEAN
, 8, NULL
, 0x40,
6136 { &hf_p22_Access_Request_replace
,
6137 { "replace", "p22.Access.Request.replace",
6138 FT_BOOLEAN
, 8, NULL
, 0x20,
6140 { &hf_p22_Access_Request_extend
,
6141 { "extend", "p22.Access.Request.extend",
6142 FT_BOOLEAN
, 8, NULL
, 0x10,
6144 { &hf_p22_Access_Request_erase
,
6145 { "erase", "p22.Access.Request.erase",
6146 FT_BOOLEAN
, 8, NULL
, 0x08,
6148 { &hf_p22_Access_Request_read_attribute
,
6149 { "read-attribute", "p22.Access.Request.read.attribute",
6150 FT_BOOLEAN
, 8, NULL
, 0x04,
6152 { &hf_p22_Access_Request_change_attribute
,
6153 { "change-attribute", "p22.Access.Request.change.attribute",
6154 FT_BOOLEAN
, 8, NULL
, 0x02,
6156 { &hf_p22_Access_Request_delete_object
,
6157 { "delete-object", "p22.Access.Request.delete.object",
6158 FT_BOOLEAN
, 8, NULL
, 0x01,
6160 { &hf_p22_RecipientSecurityRequest_content_non_repudiation
,
6161 { "content-non-repudiation", "p22.RecipientSecurityRequest.content.non.repudiation",
6162 FT_BOOLEAN
, 8, NULL
, 0x80,
6164 { &hf_p22_RecipientSecurityRequest_content_proof
,
6165 { "content-proof", "p22.RecipientSecurityRequest.content.proof",
6166 FT_BOOLEAN
, 8, NULL
, 0x40,
6168 { &hf_p22_RecipientSecurityRequest_ipn_non_repudiation
,
6169 { "ipn-non-repudiation", "p22.RecipientSecurityRequest.ipn.non.repudiation",
6170 FT_BOOLEAN
, 8, NULL
, 0x20,
6172 { &hf_p22_RecipientSecurityRequest_ipn_proof
,
6173 { "ipn-proof", "p22.RecipientSecurityRequest.ipn.proof",
6174 FT_BOOLEAN
, 8, NULL
, 0x10,
6178 /* List of subtrees */
6179 static int *ett
[] = {
6181 &ett_p22_InformationObject
,
6183 &ett_p22_IPMSExtension
,
6185 &ett_p22_IPMIdentifier_U
,
6186 &ett_p22_RecipientSpecifier
,
6187 &ett_p22_ORDescriptor
,
6188 &ett_p22_NotificationRequests
,
6189 &ett_p22_RecipientExtensionsField
,
6190 &ett_p22_AuthorizingUsersField
,
6191 &ett_p22_PrimaryRecipientsField
,
6192 &ett_p22_CopyRecipientsField
,
6193 &ett_p22_BlindCopyRecipientsField
,
6194 &ett_p22_ObsoletedIPMsField
,
6195 &ett_p22_RelatedIPMsField
,
6196 &ett_p22_ReplyRecipientsField
,
6197 &ett_p22_ExtensionsField
,
6201 &ett_p22_ExtendedBodyPart
,
6202 &ett_p22_IA5TextBodyPart
,
6203 &ett_p22_IA5TextParameters
,
6204 &ett_p22_G3FacsimileBodyPart
,
6205 &ett_p22_G3FacsimileParameters
,
6206 &ett_p22_G3FacsimileData
,
6207 &ett_p22_G4Class1BodyPart
,
6208 &ett_p22_MixedModeBodyPart
,
6209 &ett_p22_TeletexBodyPart
,
6210 &ett_p22_TeletexParameters
,
6211 &ett_p22_TeletexData
,
6212 &ett_p22_VideotexBodyPart
,
6213 &ett_p22_VideotexParameters
,
6214 &ett_p22_EncryptedBodyPart
,
6215 &ett_p22_EncryptedParameters
,
6216 &ett_p22_MessageBodyPart
,
6217 &ett_p22_MessageParameters
,
6219 &ett_p22_CommonFields
,
6220 &ett_p22_NonReceiptFields
,
6221 &ett_p22_ReceiptFields
,
6222 &ett_p22_NotificationExtensionsField
,
6223 &ett_p22_NRNExtensionsField
,
6224 &ett_p22_RNExtensionsField
,
6225 &ett_p22_OtherNotificationTypeFields
,
6226 &ett_p22_AbsenceAdvice
,
6227 &ett_p22_ChangeOfAddressAdvice
,
6228 &ett_p22_IPMAssemblyInstructions
,
6229 &ett_p22_BodyPartReferences
,
6230 &ett_p22_BodyPartReference
,
6231 &ett_p22_T_stored_body_part
,
6233 &ett_p22_BodyPartSignatures
,
6234 &ett_p22_BodyPartSignatures_item
,
6236 &ett_p22_IPMSecurityLabel
,
6237 &ett_p22_SEQUENCE_OF_BodyPartSecurityLabel
,
6238 &ett_p22_BodyPartSecurityLabel
,
6239 &ett_p22_CirculationList
,
6240 &ett_p22_CirculationMember
,
6242 &ett_p22_CirculationSignatureData
,
6243 &ett_p22_CirculationSignature
,
6244 &ett_p22_DistributionCodes
,
6245 &ett_p22_DistributionCode
,
6246 &ett_p22_InformationCategories
,
6247 &ett_p22_InformationCategory
,
6248 &ett_p22_ManualHandlingInstructions
,
6249 &ett_p22_GeneralTextParameters
,
6250 &ett_p22_FileTransferParameters
,
6251 &ett_p22_FileTransferData
,
6252 &ett_p22_RelatedStoredFile
,
6253 &ett_p22_RelatedStoredFile_item
,
6254 &ett_p22_FileIdentifier
,
6255 &ett_p22_PathnameandVersion
,
6256 &ett_p22_CrossReference
,
6257 &ett_p22_MessageReference
,
6258 &ett_p22_Relationship
,
6259 &ett_p22_Contents_Type_Attribute
,
6260 &ett_p22_T_document_type
,
6261 &ett_p22_T_constraint_set_and_abstract_syntax
,
6262 &ett_p22_EnvironmentParameter
,
6263 &ett_p22_T_user_visible_string
,
6264 &ett_p22_GeneralIdentifier
,
6265 &ett_p22_T_descriptive_identifier
,
6266 &ett_p22_CompressionParameter
,
6267 &ett_p22_FileAttributes
,
6268 &ett_p22_Pathname_Attribute
,
6269 &ett_p22_Account_Attribute
,
6270 &ett_p22_User_Identity_Attribute
,
6271 &ett_p22_Access_Control_Attribute
,
6272 &ett_p22_SET_OF_Access_Control_Element
,
6273 &ett_p22_Access_Control_Element
,
6274 &ett_p22_Access_Request
,
6275 &ett_p22_Access_Passwords
,
6277 &ett_p22_Pass_Passwords
,
6278 &ett_p22_Application_Entity_Title
,
6279 &ett_p22_VoiceParameters
,
6280 &ett_p22_ForwardedContentParameters
,
6281 &ett_p22_SubmissionProof
,
6282 &ett_p22_IPMSynopsis
,
6283 &ett_p22_BodyPartSynopsis
,
6284 &ett_p22_MessageBodyPartSynopsis
,
6285 &ett_p22_NonMessageBodyPartSynopsis
,
6286 &ett_p22_BodyPartDescriptor
,
6287 &ett_p22_BodyPartSignatureVerification
,
6288 &ett_p22_BodyPartSignatureVerification_item
,
6289 &ett_p22_IPMLocation
,
6290 &ett_p22_SET_OF_SequenceNumber
,
6291 &ett_p22_CorrelatedDeliveredReplies
,
6292 &ett_p22_SEQUENCE_OF_SequenceNumber
,
6293 &ett_p22_CorrelatedDeliveredIPNs
,
6294 &ett_p22_RecipientSecurityRequest
,
6295 &ett_p22_IpnSecurityResponse
,
6296 &ett_p22_T_content_or_arguments
,
6297 &ett_p22_T_original_security_arguments
,
6298 &ett_p22_BodyPartTokens
,
6299 &ett_p22_BodyPartTokens_item
,
6300 &ett_p22_T_body_part_choice
,
6301 &ett_p22_EncryptionToken
,
6302 &ett_p22_ForwardedContentToken
,
6303 &ett_p22_ForwardedContentToken_item
,
6304 &ett_p22_T_body_part_token_choice
,
6308 /* Register protocol */
6309 proto_p22
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
6310 register_dissector("p22", dissect_p22
, proto_p22
);
6311 /* Register fields and subtrees */
6312 proto_register_field_array(proto_p22
, hf
, array_length(hf
));
6313 proto_register_subtree_array(ett
, array_length(ett
));
6318 /*--- proto_reg_handoff_p22 --- */
6319 void proto_reg_handoff_p22(void) {
6321 register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU
, proto_p22
, "id-on-absence-advice");
6322 register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU
, proto_p22
, "id-on-change-of-address-advice");
6323 register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU
, proto_p22
, "id-mst-assembly-instructions");
6324 register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU
, proto_p22
, "id-hex-incomplete-copy");
6325 register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU
, proto_p22
, "id-hex-languages");
6326 register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU
, proto_p22
, "id-hex-auto-submitted");
6327 register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU
, proto_p22
, "id-hex-body-part-signatures");
6328 register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU
, proto_p22
, "id-hex-ipm-security-label");
6329 register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU
, proto_p22
, "id-hex-authorization-time");
6330 register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU
, proto_p22
, "id-hex-circulation-list-recipients");
6331 register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU
, proto_p22
, "id-rex-circulation-list-indicator");
6332 register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU
, proto_p22
, "id-hex-distribution-codes");
6333 register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU
, proto_p22
, "id-hex-extended-subject");
6334 register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU
, proto_p22
, "id-hex-information-categories");
6335 register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU
, proto_p22
, "id-hex-manual-handling-instructions");
6336 register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU
, proto_p22
, "id-hex-originators-reference");
6337 register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU
, proto_p22
, "id-hex-precedence-policy-id");
6338 register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU
, proto_p22
, "id-rex-precedence");
6339 register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU
, proto_p22
, "id-et-ia5-text");
6340 register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU
, proto_p22
, "id-ep-ia5-text");
6341 register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU
, proto_p22
, "id-et-g3-facsimile");
6342 register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU
, proto_p22
, "id-ep-g3-facsimile");
6343 register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU
, proto_p22
, "id-et-g4-class1");
6344 register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU
, proto_p22
, "id-et-teletex");
6345 register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU
, proto_p22
, "id-ep-teletex");
6346 register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU
, proto_p22
, "id-et-videotex");
6347 register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU
, proto_p22
, "id-ep-videotex");
6348 register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU
, proto_p22
, "id-et-encrypted");
6349 register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU
, proto_p22
, "id-ep-encrypted");
6350 register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU
, proto_p22
, "id-et-message");
6351 register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU
, proto_p22
, "id-ep-message");
6352 register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU
, proto_p22
, "id-et-mixed-mode");
6353 register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU
, proto_p22
, "id-et-bilaterally-defined");
6354 register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU
, proto_p22
, "id-ep-general-text");
6355 register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU
, proto_p22
, "id-et-general-text");
6356 register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU
, proto_p22
, "id-ep-file-transfer");
6357 register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU
, proto_p22
, "id-et-file-transfer");
6358 register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU
, proto_p22
, "id-ep-notification");
6359 register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU
, proto_p22
, "id-et-notification");
6360 register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU
, proto_p22
, "id-ep-voice");
6361 register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU
, proto_p22
, "id-et-voice");
6362 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU
, proto_p22
, "id-ep-content-p22");
6363 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU
, proto_p22
, "id-et-content-p22");
6364 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU
, proto_p22
, "id-ep-content-p2");
6365 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU
, proto_p22
, "id-et-content-p2");
6366 register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU
, proto_p22
, "id-ep-content-p772");
6367 register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU
, proto_p22
, "id-sat-ipm-entry-type");
6368 register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU
, proto_p22
, "id-sat-ipm-synopsis");
6369 register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU
, proto_p22
, "id-sat-body-parts-summary");
6370 register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU
, proto_p22
, "id-hat-heading");
6371 register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU
, proto_p22
, "id-hat-this-ipm");
6372 register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU
, proto_p22
, "id-hat-originator");
6373 register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU
, proto_p22
, "id-hat-replied-to-IPM");
6374 register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU
, proto_p22
, "id-hat-subject");
6375 register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU
, proto_p22
, "id-hat-expiry-time");
6376 register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU
, proto_p22
, "id-hat-reply-time");
6377 register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU
, proto_p22
, "id-hat-importance");
6378 register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU
, proto_p22
, "id-hat-sensitivity");
6379 register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU
, proto_p22
, "id-hat-auto-forwarded");
6380 register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU
, proto_p22
, "id-hat-authorizing-users");
6381 register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU
, proto_p22
, "id-hat-primary-recipients");
6382 register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU
, proto_p22
, "id-hat-copy-recipients");
6383 register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU
, proto_p22
, "id-hat-blind-copy-recipients");
6384 register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU
, proto_p22
, "id-hat-obsoleted-IPMs");
6385 register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU
, proto_p22
, "id-hat-related-IPMs");
6386 register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU
, proto_p22
, "id-hat-reply-recipients");
6387 register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU
, proto_p22
, "id-hat-incomplete-copy");
6388 register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU
, proto_p22
, "id-hat-languages");
6389 register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU
, proto_p22
, "id-hat-rn-requestors");
6390 register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU
, proto_p22
, "id-hat-nrn-requestors");
6391 register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU
, proto_p22
, "id-hat-reply-requestors");
6392 register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU
, proto_p22
, "id-hat-auto-submitted");
6393 register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU
, proto_p22
, "id-hat-body-part-signatures");
6394 register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU
, proto_p22
, "id-hat-ipm-security-label");
6395 register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU
, proto_p22
, "id-hat-body-part-security-label");
6396 register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU
, proto_p22
, "id-hat-body-part-encryption-token");
6397 register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU
, proto_p22
, "id-hat-authorization-time");
6398 register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU
, proto_p22
, "id-hat-circulation-list-recipients");
6399 register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU
, proto_p22
, "id-hat-distribution-codes");
6400 register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU
, proto_p22
, "id-hat-extended-subject");
6401 register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU
, proto_p22
, "id-hat-information-category");
6402 register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU
, proto_p22
, "id-hat-manual-handling-instructions");
6403 register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU
, proto_p22
, "id-hat-originators-reference");
6404 register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU
, proto_p22
, "id-hat-precedence-policy-id");
6405 register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU
, proto_p22
, "id-hat-forwarded-content-token");
6406 register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU
, proto_p22
, "id-hat-precedence");
6407 register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU
, proto_p22
, "id-hat-body-part-signature-verification-status");
6408 register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU
, proto_p22
, "id-bat-body");
6409 register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU
, proto_p22
, "id-cat-correlated-delivered-ipns");
6410 register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU
, proto_p22
, "id-cat-correlated-delivered-replies");
6411 register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU
, proto_p22
, "id-cat-delivered-ipn-summary");
6412 register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU
, proto_p22
, "id-cat-delivered-replies-summary");
6413 register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU
, proto_p22
, "id-cat-obsoleted-ipms");
6414 register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU
, proto_p22
, "id-cat-submitted-ipn-status");
6415 register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU
, proto_p22
, "id-cat-submitted-reply-status");
6416 register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU
, proto_p22
, "id-cat-recipient-category");
6417 register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU
, proto_p22
, "id-sec-ipm-security-request");
6418 register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU
, proto_p22
, "id-sec-security-common-fields");
6421 register_ber_oid_dissector("2.6.1.10.0", dissect_p22
, proto_p22
, "InterPersonal Message (1984)");
6422 register_ber_oid_dissector("2.6.1.10.1", dissect_p22
, proto_p22
, "InterPersonal Message (1988)");