HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-p22.c
blob2ffa8fbec8b1be4a5cf4000fe4321a2ee768f592
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-p22.c */
4 /* ../../tools/asn2wrs.py -b -C -p p22 -c ./p22.cnf -s ./packet-p22-template -D . -O ../../epan/dissectors IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn IPMSUpperBounds.asn */
6 /* Input file: packet-p22-template.c */
8 #line 1 "../../asn1/p22/packet-p22-template.c"
9 /* packet-p22.c
10 * Routines for X.420 (X.400 Message Transfer) packet dissection
11 * Graeme Lunt 2005
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 #include "config.h"
36 #include <glib.h>
37 #include <epan/packet.h>
38 #include <epan/oids.h>
39 #include <epan/asn1.h>
41 #include "packet-ber.h"
42 #include "packet-acse.h"
43 #include "packet-ros.h"
45 #include "packet-x509af.h"
46 #include "packet-x509ce.h"
47 #include "packet-ftam.h"
48 #include "packet-p1.h"
49 #include "packet-p7.h"
51 #include "packet-p22.h"
53 #define PNAME "X.420 Information Object"
54 #define PSNAME "P22"
55 #define PFNAME "p22"
57 /* Initialize the protocol and registered fields */
58 static int proto_p22 = -1;
60 static const value_string charsetreg_vals [] = {
61 { 1, "C0: (ISO/IEC 6429)"},
62 { 6, "G0: ASCII (ISO/IEC 646)"},
63 { 77, "C1: (ISO/IEC 6429)"},
64 { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
65 { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
66 { 104, "C0: (ISO/IEC 4873)"},
67 { 105, "C1: (ISO/IEC 4873)"},
68 { 106, "C0: Teletex (CCITT T.61)"},
69 { 107, "C1: Teletex (CCITT T.61)"},
70 { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
71 { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
72 { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
73 { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
74 { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
75 { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
76 { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
77 { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
78 { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
79 { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
80 { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
81 { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
82 { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
83 { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
84 { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
85 { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
86 { 0, NULL}
90 /*--- Included file: packet-p22-val.h ---*/
91 #line 1 "../../asn1/p22/packet-p22-val.h"
92 #define id_ipms "2.6.1"
93 #define id_mod id_ipms".0"
94 #define id_ot id_ipms".1"
95 #define id_pt id_ipms".2"
96 #define id_et id_ipms".4"
97 #define id_hex id_ipms".5"
98 #define id_sat id_ipms".6"
99 #define id_hat id_ipms".7"
100 #define id_bat id_ipms".8"
101 #define id_nat id_ipms".9"
102 #define id_mct id_ipms".10"
103 #define id_ep id_ipms".11"
104 #define id_eit id_ipms".12"
105 #define id_cat id_ipms".13"
106 #define id_mr id_ipms".14"
107 #define id_aa id_ipms".15"
108 #define id_aae id_ipms".16"
109 #define id_mst id_ipms".17"
110 #define id_sec id_ipms".18"
111 #define id_on id_ipms".19"
112 #define id_rex id_ipms".20"
113 #define id_mod_object_identifiers id_mod".0"
114 #define id_mod_functional_objects id_mod".1"
115 #define id_mod_information_objects id_mod".2"
116 #define id_mod_abstract_service id_mod".3"
117 #define id_mod_heading_extensions id_mod".6"
118 #define id_mod_extended_body_part_types id_mod".7"
119 #define id_mod_message_store_attributes id_mod".8"
120 #define id_mod_file_transfer_body_part_type id_mod".9"
121 #define id_mod_upper_bounds id_mod".10"
122 #define id_mod_extended_voice_body_part_type id_mod".11"
123 #define id_mod_forwarded_report_body_part_type id_mod".12"
124 #define id_mod_auto_actions id_mod".13"
125 #define id_mod_ipm_security_extensions id_mod".14"
126 #define id_mod_forwarded_content_body_part_type id_mod".15"
127 #define id_mod_pkcs7_body_part_type id_mod".16"
128 #define id_ot_ipms_user id_ot".1"
129 #define id_ot_ipms id_ot".2"
130 #define id_pt_origination id_pt".0"
131 #define id_pt_reception id_pt".1"
132 #define id_pt_management id_pt".2"
133 #define id_et_ia5_text id_et".0"
134 #define id_et_g3_facsimile id_et".2"
135 #define id_et_g4_class1 id_et".3"
136 #define id_et_teletex id_et".4"
137 #define id_et_videotex id_et".5"
138 #define id_et_encrypted id_et".6"
139 #define id_et_message id_et".7"
140 #define id_et_mixed_mode id_et".8"
141 #define id_et_bilaterally_defined id_et".9"
142 #define id_et_nationally_defined id_et".10"
143 #define id_et_general_text id_et".11"
144 #define id_et_file_transfer id_et".12"
145 #define id_et_report id_et".14"
146 #define id_et_notification id_et".15"
147 #define id_et_voice id_et".16"
148 #define id_et_content id_et".17"
149 #define id_et_pkcs7 id_et".18"
150 #define id_hex_incomplete_copy id_hex".0"
151 #define id_hex_languages id_hex".1"
152 #define id_hex_auto_submitted id_hex".2"
153 #define id_hex_body_part_signatures id_hex".3"
154 #define id_hex_ipm_security_label id_hex".4"
155 #define id_hex_authorization_time id_hex".5"
156 #define id_hex_circulation_list_recipients id_hex".6"
157 #define id_hex_distribution_codes id_hex".7"
158 #define id_hex_extended_subject id_hex".8"
159 #define id_hex_information_category id_hex".9"
160 #define id_hex_manual_handling_instructions id_hex".10"
161 #define id_hex_originators_reference id_hex".11"
162 #define id_hex_precedence_policy_id id_hex".12"
163 #define id_sat_ipm_entry_type id_sat".0"
164 #define id_sat_ipm_synopsis id_sat".1"
165 #define id_sat_body_parts_summary id_sat".2"
166 #define id_sat_ipm_auto_discarded id_sat".3"
167 #define id_hat_heading id_hat".0"
168 #define id_hat_this_ipm id_hat".1"
169 #define id_hat_originator id_hat".2"
170 #define id_hat_replied_to_IPM id_hat".3"
171 #define id_hat_subject id_hat".4"
172 #define id_hat_expiry_time id_hat".5"
173 #define id_hat_reply_time id_hat".6"
174 #define id_hat_importance id_hat".7"
175 #define id_hat_sensitivity id_hat".8"
176 #define id_hat_auto_forwarded id_hat".9"
177 #define id_hat_authorizing_users id_hat".10"
178 #define id_hat_primary_recipients id_hat".11"
179 #define id_hat_copy_recipients id_hat".12"
180 #define id_hat_blind_copy_recipients id_hat".13"
181 #define id_hat_obsoleted_IPMs id_hat".14"
182 #define id_hat_related_IPMs id_hat".15"
183 #define id_hat_reply_recipients id_hat".16"
184 #define id_hat_incomplete_copy id_hat".17"
185 #define id_hat_languages id_hat".18"
186 #define id_hat_rn_requestors id_hat".19"
187 #define id_hat_nrn_requestors id_hat".20"
188 #define id_hat_reply_requestors id_hat".21"
189 #define id_hat_auto_submitted id_hat".22"
190 #define id_hat_body_part_signatures id_hat".23"
191 #define id_hat_ipm_security_label id_hat".24"
192 #define id_hat_body_part_security_label id_hat".25"
193 #define id_hat_body_part_encryption_token id_hat".26"
194 #define id_hat_authorization_time id_hat".27"
195 #define id_hat_circulation_list_recipients id_hat".28"
196 #define id_hat_distribution_codes id_hat".29"
197 #define id_hat_extended_subject id_hat".30"
198 #define id_hat_information_category id_hat".31"
199 #define id_hat_manual_handling_instructions id_hat".32"
200 #define id_hat_originators_reference id_hat".33"
201 #define id_hat_precedence_policy_id id_hat".34"
202 #define id_hat_forwarded_content_token id_hat".35"
203 #define id_hat_forwarding_token id_hat".36"
204 #define id_hat_precedence id_hat".37"
205 #define id_hat_body_part_signature_verification_status id_hat".38"
206 #define id_bat_body id_bat".0"
207 #define id_bat_ia5_text_body_parts id_bat".1"
208 #define id_bat_g3_facsimile_body_parts id_bat".3"
209 #define id_bat_g4_class1_body_parts id_bat".4"
210 #define id_bat_teletex_body_parts id_bat".5"
211 #define id_bat_videotex_body_parts id_bat".6"
212 #define id_bat_encrypted_body_parts id_bat".7"
213 #define id_bat_message_body_parts id_bat".8"
214 #define id_bat_mixed_mode_body_parts id_bat".9"
215 #define id_bat_bilaterally_defined_body_parts id_bat".10"
216 #define id_bat_nationally_defined_body_parts id_bat".11"
217 #define id_bat_extended_body_part_types id_bat".12"
218 #define id_bat_ia5_text_parameters id_bat".13"
219 #define id_bat_g3_facsimile_parameters id_bat".15"
220 #define id_bat_teletex_parameters id_bat".16"
221 #define id_bat_videotex_parameters id_bat".17"
222 #define id_bat_encrypted_parameters id_bat".18"
223 #define id_bat_message_parameters id_bat".19"
224 #define id_bat_ia5_text_data id_bat".20"
225 #define id_bat_g3_facsimile_data id_bat".22"
226 #define id_bat_teletex_data id_bat".23"
227 #define id_bat_videotex_data id_bat".24"
228 #define id_bat_encrypted_data id_bat".25"
229 #define id_bat_message_data id_bat".26"
230 #define id_nat_subject_ipm id_nat".0"
231 #define id_nat_ipn_originator id_nat".1"
232 #define id_nat_ipm_intended_recipient id_nat".2"
233 #define id_nat_conversion_eits id_nat".3"
234 #define id_nat_non_receipt_reason id_nat".4"
235 #define id_nat_discard_reason id_nat".5"
236 #define id_nat_auto_forward_comment id_nat".6"
237 #define id_nat_returned_ipm id_nat".7"
238 #define id_nat_receipt_time id_nat".8"
239 #define id_nat_acknowledgment_mode id_nat".9"
240 #define id_nat_suppl_receipt_info id_nat".10"
241 #define id_nat_notification_extensions id_nat".11"
242 #define id_nat_nrn_extensions id_nat".12"
243 #define id_nat_rn_extensions id_nat".13"
244 #define id_nat_other_notification_type_fields id_nat".14"
245 #define id_cat_correlated_delivered_ipns id_cat".0"
246 #define id_cat_correlated_delivered_replies id_cat".1"
247 #define id_cat_delivered_ipn_summary id_cat".2"
248 #define id_cat_delivered_replies_summary id_cat".3"
249 #define id_cat_forwarded_ipms id_cat".4"
250 #define id_cat_forwarding_ipms id_cat".5"
251 #define id_cat_ipm_recipients id_cat".6"
252 #define id_cat_obsoleted_ipms id_cat".7"
253 #define id_cat_obsoleting_ipms id_cat".8"
254 #define id_cat_related_ipms id_cat".9"
255 #define id_cat_relating_ipms id_cat".10"
256 #define id_cat_replied_to_ipm id_cat".11"
257 #define id_cat_replying_ipms id_cat".12"
258 #define id_cat_revised_reply_time id_cat".13"
259 #define id_cat_submitted_ipn_status id_cat".14"
260 #define id_cat_submitted_ipns id_cat".15"
261 #define id_cat_submitted_reply_status id_cat".16"
262 #define id_cat_subject_ipm id_cat".17"
263 #define id_cat_recipient_category id_cat".18"
264 #define id_mct_p2_1984 id_mct".0"
265 #define id_mct_p2_1988 id_mct".1"
266 #define id_ep_ia5_text id_ep".0"
267 #define id_ep_g3_facsimile id_ep".2"
268 #define id_ep_teletex id_ep".4"
269 #define id_ep_videotex id_ep".5"
270 #define id_ep_encrypted id_ep".6"
271 #define id_ep_message id_ep".7"
272 #define id_ep_general_text id_ep".11"
273 #define id_ep_file_transfer id_ep".12"
274 #define id_ep_notification id_ep".15"
275 #define id_ep_voice id_ep".16"
276 #define id_ep_content id_ep".17"
277 #define id_eit_file_transfer id_eit".0"
278 #define id_eit_voice id_eit".1"
279 #define id_voice_11khz_sample id_eit_voice".0"
280 #define id_voice_22khz_sample id_eit_voice".1"
281 #define id_voice_cd_quality id_eit_voice".2"
282 #define id_voice_g711_mu_law id_eit_voice".3"
283 #define id_voice_g726_32k_adpcm id_eit_voice".4"
284 #define id_voice_g728_16k_ld_celp id_eit_voice".5"
285 #define id_mr_ipm_identifier id_mr".0"
286 #define id_mr_or_descriptor id_mr".1"
287 #define id_mr_or_descriptor_elements id_mr".2"
288 #define id_mr_or_descriptor_substring_elements id_mr".3"
289 #define id_mr_recipient_specifier id_mr".4"
290 #define id_mr_recipient_specifier_elements id_mr".5"
291 #define id_mr_recipient_specifier_substring_elements id_mr".6"
292 #define id_mr_ipm_location id_mr".7"
293 #define id_mr_or_descriptor_single_element id_mr".8"
294 #define id_mr_recipient_specifier_single_element id_mr".9"
295 #define id_mr_circulation_member id_mr".10"
296 #define id_mr_circulation_member_elements id_mr".11"
297 #define id_mr_circulation_member_substring_elements id_mr".12"
298 #define id_mr_circulation_member_single_element id_mr".13"
299 #define id_mr_circulation_member_checkmark id_mr".14"
300 #define id_mr_distribution_code id_mr".15"
301 #define id_mr_information_category id_mr".16"
302 #define id_aa_ipm_auto_acknowledgement id_aa".0"
303 #define id_aa_ipm_auto_correlate id_aa".1"
304 #define id_aa_ipm_auto_discard id_aa".2"
305 #define id_aa_ipm_auto_advise id_aa".3"
306 #define id_aae_auto_discard_error id_aae".0"
307 #define id_aae_auto_forwarding_loop id_aae".1"
308 #define id_aae_duplicate_ipn id_aae".2"
309 #define id_mst_invalid_assembly_instructions id_mst".0"
310 #define id_mst_invalid_ipn id_mst".1"
311 #define id_mst_assembly_instructions id_mst".2"
312 #define id_mst_suspend_auto_acknowledgement id_mst".3"
313 #define id_mst_prevent_nrn_generation id_mst".4"
314 #define id_mst_originator_body_part_encryption_token id_mst".5"
315 #define id_mst_originator_forwarded_content_token id_mst".6"
316 #define id_mst_assembly_capability id_mst".7"
317 #define id_sec_ipm_security_request id_sec".0"
318 #define id_sec_security_common_fields id_sec".1"
319 #define id_on_absence_advice id_on".0"
320 #define id_on_change_of_address_advice id_on".1"
321 #define id_rex_circulation_list_indicator id_rex".0"
322 #define id_rex_precedence id_rex".1"
323 #define ub_alpha_code_length 16
324 #define ub_auto_forward_comment 256
325 #define ub_circulation_list_members 256
326 #define ub_distribution_codes 16
327 #define ub_extended_subject_length 256
328 #define ub_free_form_name 64
329 #define ub_information_categories 16
330 #define ub_information_category_length 64
331 #define ub_ipm_identifier_suffix 2
332 #define ub_local_ipm_identifier 64
333 #define ub_manual_handling_instruction_length 128
334 #define ub_manual_handling_instructions 16
335 #define ub_originators_reference_length 64
336 #define ub_precedence 127
337 #define ub_subject_field 128
338 #define ub_telephone_number 32
340 /*--- End of included file: packet-p22-val.h ---*/
341 #line 82 "../../asn1/p22/packet-p22-template.c"
344 /*--- Included file: packet-p22-hf.c ---*/
345 #line 1 "../../asn1/p22/packet-p22-hf.c"
346 static int hf_p22_InformationObject_PDU = -1; /* InformationObject */
347 static int hf_p22_Heading_PDU = -1; /* Heading */
348 static int hf_p22_ORDescriptor_PDU = -1; /* ORDescriptor */
349 static int hf_p22_ThisIPMField_PDU = -1; /* ThisIPMField */
350 static int hf_p22_OriginatorField_PDU = -1; /* OriginatorField */
351 static int hf_p22_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */
352 static int hf_p22_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */
353 static int hf_p22_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */
354 static int hf_p22_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */
355 static int hf_p22_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */
356 static int hf_p22_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */
357 static int hf_p22_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */
358 static int hf_p22_SubjectField_PDU = -1; /* SubjectField */
359 static int hf_p22_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */
360 static int hf_p22_ReplyTimeField_PDU = -1; /* ReplyTimeField */
361 static int hf_p22_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */
362 static int hf_p22_ImportanceField_PDU = -1; /* ImportanceField */
363 static int hf_p22_SensitivityField_PDU = -1; /* SensitivityField */
364 static int hf_p22_AutoForwardedField_PDU = -1; /* AutoForwardedField */
365 static int hf_p22_Body_PDU = -1; /* Body */
366 static int hf_p22_IA5TextParameters_PDU = -1; /* IA5TextParameters */
367 static int hf_p22_IA5TextData_PDU = -1; /* IA5TextData */
368 static int hf_p22_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */
369 static int hf_p22_G3FacsimileData_PDU = -1; /* G3FacsimileData */
370 static int hf_p22_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */
371 static int hf_p22_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */
372 static int hf_p22_TeletexParameters_PDU = -1; /* TeletexParameters */
373 static int hf_p22_TeletexData_PDU = -1; /* TeletexData */
374 static int hf_p22_VideotexParameters_PDU = -1; /* VideotexParameters */
375 static int hf_p22_VideotexData_PDU = -1; /* VideotexData */
376 static int hf_p22_EncryptedParameters_PDU = -1; /* EncryptedParameters */
377 static int hf_p22_EncryptedData_PDU = -1; /* EncryptedData */
378 static int hf_p22_MessageParameters_PDU = -1; /* MessageParameters */
379 static int hf_p22_MessageData_PDU = -1; /* MessageData */
380 static int hf_p22_BilaterallyDefinedBodyPart_PDU = -1; /* BilaterallyDefinedBodyPart */
381 static int hf_p22_IPN_PDU = -1; /* IPN */
382 static int hf_p22_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */
383 static int hf_p22_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */
384 static int hf_p22_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */
385 static int hf_p22_IncompleteCopy_PDU = -1; /* IncompleteCopy */
386 static int hf_p22_Languages_PDU = -1; /* Languages */
387 static int hf_p22_Language_PDU = -1; /* Language */
388 static int hf_p22_AutoSubmitted_PDU = -1; /* AutoSubmitted */
389 static int hf_p22_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */
390 static int hf_p22_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */
391 static int hf_p22_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */
392 static int hf_p22_AuthorizationTime_PDU = -1; /* AuthorizationTime */
393 static int hf_p22_CirculationList_PDU = -1; /* CirculationList */
394 static int hf_p22_CirculationMember_PDU = -1; /* CirculationMember */
395 static int hf_p22_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */
396 static int hf_p22_DistributionCodes_PDU = -1; /* DistributionCodes */
397 static int hf_p22_DistributionCode_PDU = -1; /* DistributionCode */
398 static int hf_p22_ExtendedSubject_PDU = -1; /* ExtendedSubject */
399 static int hf_p22_InformationCategories_PDU = -1; /* InformationCategories */
400 static int hf_p22_InformationCategory_PDU = -1; /* InformationCategory */
401 static int hf_p22_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */
402 static int hf_p22_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */
403 static int hf_p22_OriginatorsReference_PDU = -1; /* OriginatorsReference */
404 static int hf_p22_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */
405 static int hf_p22_Precedence_PDU = -1; /* Precedence */
406 static int hf_p22_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */
407 static int hf_p22_GeneralTextData_PDU = -1; /* GeneralTextData */
408 static int hf_p22_FileTransferParameters_PDU = -1; /* FileTransferParameters */
409 static int hf_p22_FileTransferData_PDU = -1; /* FileTransferData */
410 static int hf_p22_VoiceParameters_PDU = -1; /* VoiceParameters */
411 static int hf_p22_VoiceData_PDU = -1; /* VoiceData */
412 static int hf_p22_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */
413 static int hf_p22_IPMEntryType_PDU = -1; /* IPMEntryType */
414 static int hf_p22_IPMSynopsis_PDU = -1; /* IPMSynopsis */
415 static int hf_p22_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */
416 static int hf_p22_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */
417 static int hf_p22_IPMLocation_PDU = -1; /* IPMLocation */
418 static int hf_p22_DeliveredReplyStatus_PDU = -1; /* DeliveredReplyStatus */
419 static int hf_p22_CorrelatedDeliveredReplies_PDU = -1; /* CorrelatedDeliveredReplies */
420 static int hf_p22_DeliveredIPNStatus_PDU = -1; /* DeliveredIPNStatus */
421 static int hf_p22_CorrelatedDeliveredIPNs_PDU = -1; /* CorrelatedDeliveredIPNs */
422 static int hf_p22_SubmittedReplyStatus_PDU = -1; /* SubmittedReplyStatus */
423 static int hf_p22_SubmittedIPNStatus_PDU = -1; /* SubmittedIPNStatus */
424 static int hf_p22_RecipientCategory_PDU = -1; /* RecipientCategory */
425 static int hf_p22_RecipientSecurityRequest_PDU = -1; /* RecipientSecurityRequest */
426 static int hf_p22_IpnSecurityResponse_PDU = -1; /* IpnSecurityResponse */
427 static int hf_p22_BodyPartTokens_PDU = -1; /* BodyPartTokens */
428 static int hf_p22_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */
429 static int hf_p22_ipm = -1; /* IPM */
430 static int hf_p22_ipn = -1; /* IPN */
431 static int hf_p22_heading = -1; /* Heading */
432 static int hf_p22_body = -1; /* Body */
433 static int hf_p22_type = -1; /* T_type */
434 static int hf_p22_value = -1; /* T_value */
435 static int hf_p22_this_IPM = -1; /* ThisIPMField */
436 static int hf_p22_originator = -1; /* OriginatorField */
437 static int hf_p22_authorizing_users = -1; /* AuthorizingUsersField */
438 static int hf_p22_primary_recipients = -1; /* PrimaryRecipientsField */
439 static int hf_p22_copy_recipients = -1; /* CopyRecipientsField */
440 static int hf_p22_blind_copy_recipients = -1; /* BlindCopyRecipientsField */
441 static int hf_p22_replied_to_IPM = -1; /* RepliedToIPMField */
442 static int hf_p22_obsoleted_IPMs = -1; /* ObsoletedIPMsField */
443 static int hf_p22_related_IPMs = -1; /* RelatedIPMsField */
444 static int hf_p22_subject = -1; /* SubjectField */
445 static int hf_p22_expiry_time = -1; /* ExpiryTimeField */
446 static int hf_p22_reply_time = -1; /* ReplyTimeField */
447 static int hf_p22_reply_recipients = -1; /* ReplyRecipientsField */
448 static int hf_p22_importance = -1; /* ImportanceField */
449 static int hf_p22_sensitivity = -1; /* SensitivityField */
450 static int hf_p22_auto_forwarded = -1; /* AutoForwardedField */
451 static int hf_p22_extensions = -1; /* ExtensionsField */
452 static int hf_p22_user = -1; /* ORName */
453 static int hf_p22_user_relative_identifier = -1; /* LocalIPMIdentifier */
454 static int hf_p22_recipient = -1; /* ORDescriptor */
455 static int hf_p22_notification_requests = -1; /* NotificationRequests */
456 static int hf_p22_reply_requested = -1; /* BOOLEAN */
457 static int hf_p22_recipient_extensions = -1; /* RecipientExtensionsField */
458 static int hf_p22_formal_name = -1; /* ORName */
459 static int hf_p22_free_form_name = -1; /* FreeFormName */
460 static int hf_p22_telephone_number = -1; /* TelephoneNumber */
461 static int hf_p22_RecipientExtensionsField_item = -1; /* IPMSExtension */
462 static int hf_p22_AuthorizingUsersField_item = -1; /* AuthorizingUsersSubfield */
463 static int hf_p22_PrimaryRecipientsField_item = -1; /* PrimaryRecipientsSubfield */
464 static int hf_p22_CopyRecipientsField_item = -1; /* CopyRecipientsSubfield */
465 static int hf_p22_BlindCopyRecipientsField_item = -1; /* BlindCopyRecipientsSubfield */
466 static int hf_p22_ObsoletedIPMsField_item = -1; /* ObsoletedIPMsSubfield */
467 static int hf_p22_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */
468 static int hf_p22_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */
469 static int hf_p22_ExtensionsField_item = -1; /* IPMSExtension */
470 static int hf_p22_Body_item = -1; /* BodyPart */
471 static int hf_p22_basic = -1; /* T_basic */
472 static int hf_p22_ia5_text = -1; /* IA5TextBodyPart */
473 static int hf_p22_g3_facsimile = -1; /* G3FacsimileBodyPart */
474 static int hf_p22_g4_class1 = -1; /* G4Class1BodyPart */
475 static int hf_p22_teletex = -1; /* TeletexBodyPart */
476 static int hf_p22_videotex = -1; /* VideotexBodyPart */
477 static int hf_p22_encrypted_bp = -1; /* EncryptedBodyPart */
478 static int hf_p22_message = -1; /* MessageBodyPart */
479 static int hf_p22_mixed_mode = -1; /* MixedModeBodyPart */
480 static int hf_p22_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */
481 static int hf_p22_nationally_defined = -1; /* NationallyDefinedBodyPart */
482 static int hf_p22_extended = -1; /* ExtendedBodyPart */
483 static int hf_p22_extended_parameters = -1; /* INSTANCE_OF */
484 static int hf_p22_extended_data = -1; /* INSTANCE_OF */
485 static int hf_p22_ia5text_parameters = -1; /* IA5TextParameters */
486 static int hf_p22_ia5text_data = -1; /* IA5TextData */
487 static int hf_p22_repertoire = -1; /* Repertoire */
488 static int hf_p22_g3facsimile_parameters = -1; /* G3FacsimileParameters */
489 static int hf_p22_g3facsimile_data = -1; /* G3FacsimileData */
490 static int hf_p22_number_of_pages = -1; /* INTEGER */
491 static int hf_p22_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */
492 static int hf_p22_G3FacsimileData_item = -1; /* BIT_STRING */
493 static int hf_p22_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */
494 static int hf_p22_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */
495 static int hf_p22_teletex_parameters = -1; /* TeletexParameters */
496 static int hf_p22_teletex_data = -1; /* TeletexData */
497 static int hf_p22_telex_compatible = -1; /* BOOLEAN */
498 static int hf_p22_teletex_non_basic_parameters = -1; /* TeletexNonBasicParameters */
499 static int hf_p22_TeletexData_item = -1; /* TeletexString */
500 static int hf_p22_videotex_parameters = -1; /* VideotexParameters */
501 static int hf_p22_videotex_data = -1; /* VideotexData */
502 static int hf_p22_syntax = -1; /* VideotexSyntax */
503 static int hf_p22_encrypted_parameters = -1; /* EncryptedParameters */
504 static int hf_p22_encrypted_data = -1; /* EncryptedData */
505 static int hf_p22_algorithm_identifier = -1; /* AlgorithmIdentifier */
506 static int hf_p22_originator_certificates = -1; /* ExtendedCertificates */
507 static int hf_p22_message_parameters = -1; /* MessageParameters */
508 static int hf_p22_message_data = -1; /* MessageData */
509 static int hf_p22_delivery_time = -1; /* MessageDeliveryTime */
510 static int hf_p22_delivery_envelope = -1; /* OtherMessageDeliveryFields */
511 static int hf_p22_subject_ipm = -1; /* SubjectIPMField */
512 static int hf_p22_ipn_originator = -1; /* IPNOriginatorField */
513 static int hf_p22_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */
514 static int hf_p22_conversion_eits = -1; /* ConversionEITsField */
515 static int hf_p22_notification_extensions = -1; /* NotificationExtensionsField */
516 static int hf_p22_non_receipt_reason = -1; /* NonReceiptReasonField */
517 static int hf_p22_discard_reason = -1; /* DiscardReasonField */
518 static int hf_p22_auto_forward_comment = -1; /* AutoForwardCommentField */
519 static int hf_p22_returned_ipm = -1; /* ReturnedIPMField */
520 static int hf_p22_nrn_extensions = -1; /* NRNExtensionsField */
521 static int hf_p22_receipt_time = -1; /* ReceiptTimeField */
522 static int hf_p22_acknowledgment_mode = -1; /* AcknowledgmentModeField */
523 static int hf_p22_suppl_receipt_info = -1; /* SupplReceiptInfoField */
524 static int hf_p22_rn_extensions = -1; /* RNExtensionsField */
525 static int hf_p22_NotificationExtensionsField_item = -1; /* IPMSExtension */
526 static int hf_p22_NRNExtensionsField_item = -1; /* IPMSExtension */
527 static int hf_p22_RNExtensionsField_item = -1; /* IPMSExtension */
528 static int hf_p22_OtherNotificationTypeFields_item = -1; /* IPMSExtension */
529 static int hf_p22_advice = -1; /* BodyPart */
530 static int hf_p22_next_available = -1; /* Time */
531 static int hf_p22_new_address = -1; /* ORDescriptor */
532 static int hf_p22_effective_from = -1; /* Time */
533 static int hf_p22_assembly_instructions = -1; /* BodyPartReferences */
534 static int hf_p22_BodyPartReferences_item = -1; /* BodyPartReference */
535 static int hf_p22_stored_entry = -1; /* SequenceNumber */
536 static int hf_p22_stored_content = -1; /* SequenceNumber */
537 static int hf_p22_submitted_body_part = -1; /* INTEGER_1_MAX */
538 static int hf_p22_stored_body_part = -1; /* T_stored_body_part */
539 static int hf_p22_message_entry = -1; /* SequenceNumber */
540 static int hf_p22_body_part_number = -1; /* BodyPartNumber */
541 static int hf_p22_Languages_item = -1; /* Language */
542 static int hf_p22_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */
543 static int hf_p22_body_part_signature = -1; /* BodyPartSignature */
544 static int hf_p22_originator_certificate_selector = -1; /* CertificateAssertion */
545 static int hf_p22_algorithmIdentifier = -1; /* AlgorithmIdentifier */
546 static int hf_p22_encrypted = -1; /* BIT_STRING */
547 static int hf_p22_content_security_label = -1; /* SecurityLabel */
548 static int hf_p22_heading_security_label = -1; /* SecurityLabel */
549 static int hf_p22_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */
550 static int hf_p22_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */
551 static int hf_p22_body_part_unlabelled = -1; /* NULL */
552 static int hf_p22_body_part_security_label = -1; /* SecurityLabel */
553 static int hf_p22_CirculationList_item = -1; /* CirculationMember */
554 static int hf_p22_circulation_recipient = -1; /* RecipientSpecifier */
555 static int hf_p22_checked = -1; /* Checkmark */
556 static int hf_p22_simple = -1; /* NULL */
557 static int hf_p22_timestamped = -1; /* CirculationTime */
558 static int hf_p22_signed = -1; /* CirculationSignature */
559 static int hf_p22_circulation_signature_algorithm_identifier = -1; /* CirculationSignatureAlgorithmIdentifier */
560 static int hf_p22_timestamp = -1; /* CirculationTime */
561 static int hf_p22_circulation_signature_data = -1; /* CirculationSignatureData */
562 static int hf_p22_DistributionCodes_item = -1; /* DistributionCode */
563 static int hf_p22_oid_code = -1; /* OBJECT_IDENTIFIER */
564 static int hf_p22_alphanumeric_code = -1; /* AlphaCode */
565 static int hf_p22_or_descriptor = -1; /* ORDescriptor */
566 static int hf_p22_InformationCategories_item = -1; /* InformationCategory */
567 static int hf_p22_reference = -1; /* OBJECT_IDENTIFIER */
568 static int hf_p22_description = -1; /* DescriptionString */
569 static int hf_p22_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */
570 static int hf_p22_GeneralTextParameters_item = -1; /* CharacterSetRegistration */
571 static int hf_p22_related_stored_file = -1; /* RelatedStoredFile */
572 static int hf_p22_contents_type = -1; /* ContentsTypeParameter */
573 static int hf_p22_environment = -1; /* EnvironmentParameter */
574 static int hf_p22_compression = -1; /* CompressionParameter */
575 static int hf_p22_file_attributes = -1; /* FileAttributes */
576 static int hf_p22_FileTransferData_item = -1; /* EXTERNAL */
577 static int hf_p22_RelatedStoredFile_item = -1; /* RelatedStoredFile_item */
578 static int hf_p22_file_identifier = -1; /* FileIdentifier */
579 static int hf_p22_relationship = -1; /* Relationship */
580 static int hf_p22_pathname_and_version = -1; /* PathnameandVersion */
581 static int hf_p22_cross_reference = -1; /* CrossReference */
582 static int hf_p22_pathname = -1; /* Pathname_Attribute */
583 static int hf_p22_file_version = -1; /* GraphicString */
584 static int hf_p22_application_cross_reference = -1; /* OCTET_STRING */
585 static int hf_p22_message_reference = -1; /* MessageReference */
586 static int hf_p22_body_part_reference = -1; /* INTEGER */
587 static int hf_p22_user_relative_identifier_ref = -1; /* PrintableString */
588 static int hf_p22_explicit_relationship = -1; /* ExplicitRelationship */
589 static int hf_p22_descriptive_relationship = -1; /* GraphicString */
590 static int hf_p22_document_type = -1; /* T_document_type */
591 static int hf_p22_document_type_name = -1; /* Document_Type_Name */
592 static int hf_p22_parameter = -1; /* T_parameter */
593 static int hf_p22_constraint_set_and_abstract_syntax = -1; /* T_constraint_set_and_abstract_syntax */
594 static int hf_p22_constraint_set_name = -1; /* Constraint_Set_Name */
595 static int hf_p22_abstract_syntax_name = -1; /* Abstract_Syntax_Name */
596 static int hf_p22_application_reference = -1; /* GeneralIdentifier */
597 static int hf_p22_machine = -1; /* GeneralIdentifier */
598 static int hf_p22_operating_system = -1; /* OBJECT_IDENTIFIER */
599 static int hf_p22_user_visible_string = -1; /* T_user_visible_string */
600 static int hf_p22_user_visible_string_item = -1; /* GraphicString */
601 static int hf_p22_registered_identifier = -1; /* OBJECT_IDENTIFIER */
602 static int hf_p22_descriptive_identifier = -1; /* T_descriptive_identifier */
603 static int hf_p22_descriptive_identifier_item = -1; /* GraphicString */
604 static int hf_p22_compression_algorithm_id = -1; /* T_compression_algorithm_id */
605 static int hf_p22_compression_algorithm_param = -1; /* T_compression_algorithm_param */
606 static int hf_p22_permitted_actions = -1; /* Permitted_Actions_Attribute */
607 static int hf_p22_storage_account = -1; /* Account_Attribute */
608 static int hf_p22_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
609 static int hf_p22_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
610 static int hf_p22_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
611 static int hf_p22_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
612 static int hf_p22_identity_of_creator = -1; /* User_Identity_Attribute */
613 static int hf_p22_identity_of_last_modifier = -1; /* User_Identity_Attribute */
614 static int hf_p22_identity_of_last_reader = -1; /* User_Identity_Attribute */
615 static int hf_p22_identity_of_last_attribute_modifier = -1; /* User_Identity_Attribute */
616 static int hf_p22_object_availability = -1; /* Object_Availability_Attribute */
617 static int hf_p22_object_size = -1; /* Object_Size_Attribute */
618 static int hf_p22_future_object_size = -1; /* Object_Size_Attribute */
619 static int hf_p22_access_control = -1; /* Access_Control_Attribute */
620 static int hf_p22_legal_qualifications = -1; /* Legal_Qualification_Attribute */
621 static int hf_p22_private_use = -1; /* Private_Use_Attribute */
622 static int hf_p22_attribute_extensions = -1; /* Attribute_Extensions */
623 static int hf_p22_incomplete_pathname = -1; /* Pathname */
624 static int hf_p22_complete_pathname = -1; /* Pathname */
625 static int hf_p22_no_value_available = -1; /* NULL */
626 static int hf_p22_account_actual_values = -1; /* Account */
627 static int hf_p22_identity_actual_values = -1; /* User_Identity */
628 static int hf_p22_actual_values = -1; /* SET_OF_Access_Control_Element */
629 static int hf_p22_actual_values_item = -1; /* Access_Control_Element */
630 static int hf_p22_action_list = -1; /* Access_Request */
631 static int hf_p22_concurrency_access = -1; /* Concurrency_Access */
632 static int hf_p22_identity = -1; /* User_Identity */
633 static int hf_p22_passwords = -1; /* Access_Passwords */
634 static int hf_p22_location = -1; /* Application_Entity_Title */
635 static int hf_p22_read_password = -1; /* Password */
636 static int hf_p22_insert_password = -1; /* Password */
637 static int hf_p22_replace_password = -1; /* Password */
638 static int hf_p22_extend_password = -1; /* Password */
639 static int hf_p22_erase_password = -1; /* Password */
640 static int hf_p22_read_attribute_password = -1; /* Password */
641 static int hf_p22_change_attribute_password = -1; /* Password */
642 static int hf_p22_delete_password = -1; /* Password */
643 static int hf_p22_pass_passwords = -1; /* Pass_Passwords */
644 static int hf_p22_link_password = -1; /* Password */
645 static int hf_p22_graphic_string = -1; /* GraphicString */
646 static int hf_p22_octet_string = -1; /* OCTET_STRING */
647 static int hf_p22_Pass_Passwords_item = -1; /* Password */
648 static int hf_p22_ap_title = -1; /* AP_title */
649 static int hf_p22_ae_qualifier = -1; /* AE_qualifier */
650 static int hf_p22_voice_message_duration = -1; /* INTEGER */
651 static int hf_p22_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */
652 static int hf_p22_supplementary_information = -1; /* IA5String */
653 static int hf_p22_mts_identifier = -1; /* MessageDeliveryIdentifier */
654 static int hf_p22_submission_proof = -1; /* SubmissionProof */
655 static int hf_p22_proof_of_submission = -1; /* ProofOfSubmission */
656 static int hf_p22_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
657 static int hf_p22_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
658 static int hf_p22_IPMSynopsis_item = -1; /* BodyPartSynopsis */
659 static int hf_p22_message_synopsis = -1; /* MessageBodyPartSynopsis */
660 static int hf_p22_non_message = -1; /* NonMessageBodyPartSynopsis */
661 static int hf_p22_number = -1; /* SequenceNumber */
662 static int hf_p22_synopsis = -1; /* IPMSynopsis */
663 static int hf_p22_bp_type = -1; /* OBJECT_IDENTIFIER */
664 static int hf_p22_bp_parameters = -1; /* INSTANCE_OF */
665 static int hf_p22_size = -1; /* INTEGER */
666 static int hf_p22_processed = -1; /* BOOLEAN */
667 static int hf_p22_data = -1; /* OBJECT_IDENTIFIER */
668 static int hf_p22_parameters = -1; /* OBJECT_IDENTIFIER */
669 static int hf_p22_this_child_entry = -1; /* SequenceNumber */
670 static int hf_p22_position = -1; /* INTEGER */
671 static int hf_p22_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */
672 static int hf_p22_body_part_sequence_number = -1; /* BodyPartNumber */
673 static int hf_p22_body_part_signature_status = -1; /* SignatureStatus */
674 static int hf_p22_stored = -1; /* SET_OF_SequenceNumber */
675 static int hf_p22_stored_item = -1; /* SequenceNumber */
676 static int hf_p22_absent = -1; /* NULL */
677 static int hf_p22_no_reply_received = -1; /* NULL */
678 static int hf_p22_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */
679 static int hf_p22_received_replies_item = -1; /* SequenceNumber */
680 static int hf_p22_no_ipn_received = -1; /* NULL */
681 static int hf_p22_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */
682 static int hf_p22_ipns_received_item = -1; /* SequenceNumber */
683 static int hf_p22_content_or_arguments = -1; /* T_content_or_arguments */
684 static int hf_p22_original_content = -1; /* OriginalContent */
685 static int hf_p22_original_security_arguments = -1; /* T_original_security_arguments */
686 static int hf_p22_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */
687 static int hf_p22_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */
688 static int hf_p22_original_message_token = -1; /* OriginalMessageToken */
689 static int hf_p22_security_diagnostic_code = -1; /* SecurityDiagnosticCode */
690 static int hf_p22_BodyPartTokens_item = -1; /* BodyPartTokens_item */
691 static int hf_p22_body_part_choice = -1; /* T_body_part_choice */
692 static int hf_p22_encryption_token = -1; /* EncryptionToken */
693 static int hf_p22_message_or_content_body_part = -1; /* BodyPartTokens */
694 static int hf_p22_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
695 static int hf_p22_encrypted_key = -1; /* BIT_STRING */
696 static int hf_p22_recipient_certificate_selector = -1; /* CertificateAssertion */
697 static int hf_p22_recipient_certificate = -1; /* Certificates */
698 static int hf_p22_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */
699 static int hf_p22_body_part_token_choice = -1; /* T_body_part_token_choice */
700 static int hf_p22_forwarding_token = -1; /* MessageToken */
701 static int hf_p22_forwarded_content_token = -1; /* ForwardedContentToken */
702 static int hf_p22_choice = -1; /* T_choice */
703 static int hf_p22_non_receipt_fields = -1; /* NonReceiptFields */
704 static int hf_p22_receipt_fields = -1; /* ReceiptFields */
705 static int hf_p22_other_notification_type_fields = -1; /* OtherNotificationTypeFields */
706 /* named bits */
707 static int hf_p22_NotificationRequests_rn = -1;
708 static int hf_p22_NotificationRequests_nrn = -1;
709 static int hf_p22_NotificationRequests_ipm_return = -1;
710 static int hf_p22_NotificationRequests_an_supported = -1;
711 static int hf_p22_NotificationRequests_suppress_an = -1;
712 static int hf_p22_Access_Request_read = -1;
713 static int hf_p22_Access_Request_insert = -1;
714 static int hf_p22_Access_Request_replace = -1;
715 static int hf_p22_Access_Request_extend = -1;
716 static int hf_p22_Access_Request_erase = -1;
717 static int hf_p22_Access_Request_read_attribute = -1;
718 static int hf_p22_Access_Request_change_attribute = -1;
719 static int hf_p22_Access_Request_delete_object = -1;
720 static int hf_p22_RecipientSecurityRequest_content_non_repudiation = -1;
721 static int hf_p22_RecipientSecurityRequest_content_proof = -1;
722 static int hf_p22_RecipientSecurityRequest_ipn_non_repudiation = -1;
723 static int hf_p22_RecipientSecurityRequest_ipn_proof = -1;
725 /*--- End of included file: packet-p22-hf.c ---*/
726 #line 84 "../../asn1/p22/packet-p22-template.c"
728 /* Initialize the subtree pointers */
729 static gint ett_p22 = -1;
731 /*--- Included file: packet-p22-ett.c ---*/
732 #line 1 "../../asn1/p22/packet-p22-ett.c"
733 static gint ett_p22_InformationObject = -1;
734 static gint ett_p22_IPM = -1;
735 static gint ett_p22_IPMSExtension = -1;
736 static gint ett_p22_Heading = -1;
737 static gint ett_p22_IPMIdentifier_U = -1;
738 static gint ett_p22_RecipientSpecifier = -1;
739 static gint ett_p22_ORDescriptor = -1;
740 static gint ett_p22_NotificationRequests = -1;
741 static gint ett_p22_RecipientExtensionsField = -1;
742 static gint ett_p22_AuthorizingUsersField = -1;
743 static gint ett_p22_PrimaryRecipientsField = -1;
744 static gint ett_p22_CopyRecipientsField = -1;
745 static gint ett_p22_BlindCopyRecipientsField = -1;
746 static gint ett_p22_ObsoletedIPMsField = -1;
747 static gint ett_p22_RelatedIPMsField = -1;
748 static gint ett_p22_ReplyRecipientsField = -1;
749 static gint ett_p22_ExtensionsField = -1;
750 static gint ett_p22_Body = -1;
751 static gint ett_p22_BodyPart = -1;
752 static gint ett_p22_T_basic = -1;
753 static gint ett_p22_ExtendedBodyPart = -1;
754 static gint ett_p22_IA5TextBodyPart = -1;
755 static gint ett_p22_IA5TextParameters = -1;
756 static gint ett_p22_G3FacsimileBodyPart = -1;
757 static gint ett_p22_G3FacsimileParameters = -1;
758 static gint ett_p22_G3FacsimileData = -1;
759 static gint ett_p22_G4Class1BodyPart = -1;
760 static gint ett_p22_MixedModeBodyPart = -1;
761 static gint ett_p22_TeletexBodyPart = -1;
762 static gint ett_p22_TeletexParameters = -1;
763 static gint ett_p22_TeletexData = -1;
764 static gint ett_p22_VideotexBodyPart = -1;
765 static gint ett_p22_VideotexParameters = -1;
766 static gint ett_p22_EncryptedBodyPart = -1;
767 static gint ett_p22_EncryptedParameters = -1;
768 static gint ett_p22_MessageBodyPart = -1;
769 static gint ett_p22_MessageParameters = -1;
770 static gint ett_p22_IPN = -1;
771 static gint ett_p22_CommonFields = -1;
772 static gint ett_p22_NonReceiptFields = -1;
773 static gint ett_p22_ReceiptFields = -1;
774 static gint ett_p22_NotificationExtensionsField = -1;
775 static gint ett_p22_NRNExtensionsField = -1;
776 static gint ett_p22_RNExtensionsField = -1;
777 static gint ett_p22_OtherNotificationTypeFields = -1;
778 static gint ett_p22_AbsenceAdvice = -1;
779 static gint ett_p22_ChangeOfAddressAdvice = -1;
780 static gint ett_p22_IPMAssemblyInstructions = -1;
781 static gint ett_p22_BodyPartReferences = -1;
782 static gint ett_p22_BodyPartReference = -1;
783 static gint ett_p22_T_stored_body_part = -1;
784 static gint ett_p22_Languages = -1;
785 static gint ett_p22_BodyPartSignatures = -1;
786 static gint ett_p22_BodyPartSignatures_item = -1;
787 static gint ett_p22_Signature = -1;
788 static gint ett_p22_IPMSecurityLabel = -1;
789 static gint ett_p22_SEQUENCE_OF_BodyPartSecurityLabel = -1;
790 static gint ett_p22_BodyPartSecurityLabel = -1;
791 static gint ett_p22_CirculationList = -1;
792 static gint ett_p22_CirculationMember = -1;
793 static gint ett_p22_Checkmark = -1;
794 static gint ett_p22_CirculationSignatureData = -1;
795 static gint ett_p22_CirculationSignature = -1;
796 static gint ett_p22_DistributionCodes = -1;
797 static gint ett_p22_DistributionCode = -1;
798 static gint ett_p22_InformationCategories = -1;
799 static gint ett_p22_InformationCategory = -1;
800 static gint ett_p22_ManualHandlingInstructions = -1;
801 static gint ett_p22_GeneralTextParameters = -1;
802 static gint ett_p22_FileTransferParameters = -1;
803 static gint ett_p22_FileTransferData = -1;
804 static gint ett_p22_RelatedStoredFile = -1;
805 static gint ett_p22_RelatedStoredFile_item = -1;
806 static gint ett_p22_FileIdentifier = -1;
807 static gint ett_p22_PathnameandVersion = -1;
808 static gint ett_p22_CrossReference = -1;
809 static gint ett_p22_MessageReference = -1;
810 static gint ett_p22_Relationship = -1;
811 static gint ett_p22_Contents_Type_Attribute = -1;
812 static gint ett_p22_T_document_type = -1;
813 static gint ett_p22_T_constraint_set_and_abstract_syntax = -1;
814 static gint ett_p22_EnvironmentParameter = -1;
815 static gint ett_p22_T_user_visible_string = -1;
816 static gint ett_p22_GeneralIdentifier = -1;
817 static gint ett_p22_T_descriptive_identifier = -1;
818 static gint ett_p22_CompressionParameter = -1;
819 static gint ett_p22_FileAttributes = -1;
820 static gint ett_p22_Pathname_Attribute = -1;
821 static gint ett_p22_Account_Attribute = -1;
822 static gint ett_p22_User_Identity_Attribute = -1;
823 static gint ett_p22_Access_Control_Attribute = -1;
824 static gint ett_p22_SET_OF_Access_Control_Element = -1;
825 static gint ett_p22_Access_Control_Element = -1;
826 static gint ett_p22_Access_Request = -1;
827 static gint ett_p22_Access_Passwords = -1;
828 static gint ett_p22_Password = -1;
829 static gint ett_p22_Pass_Passwords = -1;
830 static gint ett_p22_Application_Entity_Title = -1;
831 static gint ett_p22_VoiceParameters = -1;
832 static gint ett_p22_ForwardedContentParameters = -1;
833 static gint ett_p22_SubmissionProof = -1;
834 static gint ett_p22_IPMSynopsis = -1;
835 static gint ett_p22_BodyPartSynopsis = -1;
836 static gint ett_p22_MessageBodyPartSynopsis = -1;
837 static gint ett_p22_NonMessageBodyPartSynopsis = -1;
838 static gint ett_p22_BodyPartDescriptor = -1;
839 static gint ett_p22_BodyPartSignatureVerification = -1;
840 static gint ett_p22_BodyPartSignatureVerification_item = -1;
841 static gint ett_p22_IPMLocation = -1;
842 static gint ett_p22_SET_OF_SequenceNumber = -1;
843 static gint ett_p22_CorrelatedDeliveredReplies = -1;
844 static gint ett_p22_SEQUENCE_OF_SequenceNumber = -1;
845 static gint ett_p22_CorrelatedDeliveredIPNs = -1;
846 static gint ett_p22_RecipientSecurityRequest = -1;
847 static gint ett_p22_IpnSecurityResponse = -1;
848 static gint ett_p22_T_content_or_arguments = -1;
849 static gint ett_p22_T_original_security_arguments = -1;
850 static gint ett_p22_BodyPartTokens = -1;
851 static gint ett_p22_BodyPartTokens_item = -1;
852 static gint ett_p22_T_body_part_choice = -1;
853 static gint ett_p22_EncryptionToken = -1;
854 static gint ett_p22_ForwardedContentToken = -1;
855 static gint ett_p22_ForwardedContentToken_item = -1;
856 static gint ett_p22_T_body_part_token_choice = -1;
857 static gint ett_p22_T_choice = -1;
859 /*--- End of included file: packet-p22-ett.c ---*/
860 #line 88 "../../asn1/p22/packet-p22-template.c"
863 /*--- Included file: packet-p22-fn.c ---*/
864 #line 1 "../../asn1/p22/packet-p22-fn.c"
865 /*--- Cyclic dependencies ---*/
867 /* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */
868 int dissect_p22_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
870 /* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */
871 static int dissect_p22_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
873 /* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */
874 static int dissect_p22_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
876 /* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */
877 static int dissect_p22_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
882 static int
883 dissect_p22_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
884 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
886 return offset;
891 static int
892 dissect_p22_LocalIPMIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
893 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
894 actx, tree, tvb, offset,
895 0, ub_local_ipm_identifier, hf_index, NULL);
897 return offset;
901 static const ber_sequence_t IPMIdentifier_U_set[] = {
902 { &hf_p22_user , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ORName },
903 { &hf_p22_user_relative_identifier, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p22_LocalIPMIdentifier },
904 { NULL, 0, 0, 0, NULL }
907 static int
908 dissect_p22_IPMIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
909 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
910 IPMIdentifier_U_set, hf_index, ett_p22_IPMIdentifier_U);
912 return offset;
917 static int
918 dissect_p22_IPMIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
919 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
920 hf_index, BER_CLASS_APP, 11, TRUE, dissect_p22_IPMIdentifier_U);
922 return offset;
927 static int
928 dissect_p22_ThisIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
929 offset = dissect_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
931 return offset;
936 static int
937 dissect_p22_FreeFormName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
938 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
939 actx, tree, tvb, offset,
940 0, ub_free_form_name, hf_index, NULL);
942 return offset;
947 static int
948 dissect_p22_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
949 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
950 actx, tree, tvb, offset,
951 0, ub_telephone_number, hf_index, NULL);
953 return offset;
957 static const ber_sequence_t ORDescriptor_set[] = {
958 { &hf_p22_formal_name , BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ORName },
959 { &hf_p22_free_form_name , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_FreeFormName },
960 { &hf_p22_telephone_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_TelephoneNumber },
961 { NULL, 0, 0, 0, NULL }
965 dissect_p22_ORDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
966 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
967 ORDescriptor_set, hf_index, ett_p22_ORDescriptor);
969 return offset;
974 static int
975 dissect_p22_OriginatorField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
976 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
978 return offset;
983 static int
984 dissect_p22_AuthorizingUsersSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
985 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
987 return offset;
991 static const ber_sequence_t AuthorizingUsersField_sequence_of[1] = {
992 { &hf_p22_AuthorizingUsersField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_AuthorizingUsersSubfield },
995 static int
996 dissect_p22_AuthorizingUsersField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
997 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
998 AuthorizingUsersField_sequence_of, hf_index, ett_p22_AuthorizingUsersField);
1000 return offset;
1004 static const asn_namedbit NotificationRequests_bits[] = {
1005 { 0, &hf_p22_NotificationRequests_rn, -1, -1, "rn", NULL },
1006 { 1, &hf_p22_NotificationRequests_nrn, -1, -1, "nrn", NULL },
1007 { 2, &hf_p22_NotificationRequests_ipm_return, -1, -1, "ipm-return", NULL },
1008 { 3, &hf_p22_NotificationRequests_an_supported, -1, -1, "an-supported", NULL },
1009 { 4, &hf_p22_NotificationRequests_suppress_an, -1, -1, "suppress-an", NULL },
1010 { 0, NULL, 0, 0, NULL, NULL }
1013 static int
1014 dissect_p22_NotificationRequests(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1015 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1016 NotificationRequests_bits, hf_index, ett_p22_NotificationRequests,
1017 NULL);
1019 return offset;
1024 static int
1025 dissect_p22_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1026 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1028 return offset;
1033 static int
1034 dissect_p22_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1035 #line 221 "../../asn1/p22/p22.cnf"
1036 const char *name = NULL;
1038 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
1041 name = oid_resolved_from_string(actx->external.direct_reference);
1042 proto_item_append_text(tree, " (%s)", name ? name : actx->external.direct_reference);
1046 return offset;
1051 static int
1052 dissect_p22_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1053 #line 229 "../../asn1/p22/p22.cnf"
1055 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
1059 return offset;
1063 static const ber_sequence_t IPMSExtension_sequence[] = {
1064 { &hf_p22_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_T_type },
1065 { &hf_p22_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_T_value },
1066 { NULL, 0, 0, 0, NULL }
1069 static int
1070 dissect_p22_IPMSExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1071 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1072 IPMSExtension_sequence, hf_index, ett_p22_IPMSExtension);
1074 return offset;
1078 static const ber_sequence_t RecipientExtensionsField_set_of[1] = {
1079 { &hf_p22_RecipientExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
1082 static int
1083 dissect_p22_RecipientExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1084 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1085 RecipientExtensionsField_set_of, hf_index, ett_p22_RecipientExtensionsField);
1087 return offset;
1091 static const ber_sequence_t RecipientSpecifier_set[] = {
1092 { &hf_p22_recipient , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor },
1093 { &hf_p22_notification_requests, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NotificationRequests },
1094 { &hf_p22_reply_requested , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN },
1095 { &hf_p22_recipient_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RecipientExtensionsField },
1096 { NULL, 0, 0, 0, NULL }
1099 static int
1100 dissect_p22_RecipientSpecifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1101 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1102 RecipientSpecifier_set, hf_index, ett_p22_RecipientSpecifier);
1104 return offset;
1109 static int
1110 dissect_p22_PrimaryRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1111 offset = dissect_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1113 return offset;
1117 static const ber_sequence_t PrimaryRecipientsField_sequence_of[1] = {
1118 { &hf_p22_PrimaryRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_PrimaryRecipientsSubfield },
1121 static int
1122 dissect_p22_PrimaryRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1123 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1124 PrimaryRecipientsField_sequence_of, hf_index, ett_p22_PrimaryRecipientsField);
1126 return offset;
1131 static int
1132 dissect_p22_CopyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1133 offset = dissect_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1135 return offset;
1139 static const ber_sequence_t CopyRecipientsField_sequence_of[1] = {
1140 { &hf_p22_CopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_CopyRecipientsSubfield },
1143 static int
1144 dissect_p22_CopyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1145 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1146 CopyRecipientsField_sequence_of, hf_index, ett_p22_CopyRecipientsField);
1148 return offset;
1153 static int
1154 dissect_p22_BlindCopyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1155 offset = dissect_p22_RecipientSpecifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1157 return offset;
1161 static const ber_sequence_t BlindCopyRecipientsField_sequence_of[1] = {
1162 { &hf_p22_BlindCopyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BlindCopyRecipientsSubfield },
1165 static int
1166 dissect_p22_BlindCopyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1167 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1168 BlindCopyRecipientsField_sequence_of, hf_index, ett_p22_BlindCopyRecipientsField);
1170 return offset;
1175 static int
1176 dissect_p22_RepliedToIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1177 offset = dissect_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1179 return offset;
1184 static int
1185 dissect_p22_ObsoletedIPMsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1186 offset = dissect_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1188 return offset;
1192 static const ber_sequence_t ObsoletedIPMsField_sequence_of[1] = {
1193 { &hf_p22_ObsoletedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ObsoletedIPMsSubfield },
1196 static int
1197 dissect_p22_ObsoletedIPMsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1198 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1199 ObsoletedIPMsField_sequence_of, hf_index, ett_p22_ObsoletedIPMsField);
1201 return offset;
1206 static int
1207 dissect_p22_RelatedIPMsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1208 offset = dissect_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1210 return offset;
1214 static const ber_sequence_t RelatedIPMsField_sequence_of[1] = {
1215 { &hf_p22_RelatedIPMsField_item, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_RelatedIPMsSubfield },
1218 static int
1219 dissect_p22_RelatedIPMsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1220 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1221 RelatedIPMsField_sequence_of, hf_index, ett_p22_RelatedIPMsField);
1223 return offset;
1228 static int
1229 dissect_p22_SubjectField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1230 #line 249 "../../asn1/p22/p22.cnf"
1231 tvbuff_t *subject=NULL;
1233 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1234 actx, tree, tvb, offset,
1235 0, ub_subject_field, hf_index, &subject);
1238 if(subject)
1239 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%s)", tvb_format_text(subject, 0, tvb_length(subject)));
1243 return offset;
1248 static int
1249 dissect_p22_ExpiryTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1250 offset = dissect_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1252 return offset;
1257 static int
1258 dissect_p22_ReplyTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1259 offset = dissect_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
1261 return offset;
1266 static int
1267 dissect_p22_ReplyRecipientsSubfield(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1268 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1270 return offset;
1274 static const ber_sequence_t ReplyRecipientsField_sequence_of[1] = {
1275 { &hf_p22_ReplyRecipientsField_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ReplyRecipientsSubfield },
1278 static int
1279 dissect_p22_ReplyRecipientsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1281 ReplyRecipientsField_sequence_of, hf_index, ett_p22_ReplyRecipientsField);
1283 return offset;
1287 static const value_string p22_ImportanceField_vals[] = {
1288 { 0, "low" },
1289 { 1, "normal" },
1290 { 2, "high" },
1291 { 0, NULL }
1295 static int
1296 dissect_p22_ImportanceField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1297 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1298 NULL);
1300 return offset;
1304 static const value_string p22_SensitivityField_vals[] = {
1305 { 1, "personal" },
1306 { 2, "private" },
1307 { 3, "company-confidential" },
1308 { 0, NULL }
1312 static int
1313 dissect_p22_SensitivityField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1314 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1315 NULL);
1317 return offset;
1322 static int
1323 dissect_p22_AutoForwardedField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1324 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1326 return offset;
1330 static const ber_sequence_t ExtensionsField_set_of[1] = {
1331 { &hf_p22_ExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
1335 dissect_p22_ExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1336 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1337 ExtensionsField_set_of, hf_index, ett_p22_ExtensionsField);
1339 return offset;
1343 static const ber_sequence_t Heading_set[] = {
1344 { &hf_p22_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ThisIPMField },
1345 { &hf_p22_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginatorField },
1346 { &hf_p22_authorizing_users, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AuthorizingUsersField },
1347 { &hf_p22_primary_recipients, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_PrimaryRecipientsField },
1348 { &hf_p22_copy_recipients , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_CopyRecipientsField },
1349 { &hf_p22_blind_copy_recipients, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BlindCopyRecipientsField },
1350 { &hf_p22_replied_to_IPM , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RepliedToIPMField },
1351 { &hf_p22_obsoleted_IPMs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ObsoletedIPMsField },
1352 { &hf_p22_related_IPMs , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RelatedIPMsField },
1353 { &hf_p22_subject , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_p22_SubjectField },
1354 { &hf_p22_expiry_time , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExpiryTimeField },
1355 { &hf_p22_reply_time , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReplyTimeField },
1356 { &hf_p22_reply_recipients, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReplyRecipientsField },
1357 { &hf_p22_importance , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ImportanceField },
1358 { &hf_p22_sensitivity , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SensitivityField },
1359 { &hf_p22_auto_forwarded , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AutoForwardedField },
1360 { &hf_p22_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExtensionsField },
1361 { NULL, 0, 0, 0, NULL }
1364 static int
1365 dissect_p22_Heading(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1366 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1367 Heading_set, hf_index, ett_p22_Heading);
1369 return offset;
1373 static const value_string p22_Repertoire_vals[] = {
1374 { 2, "ita2" },
1375 { 5, "ia5" },
1376 { 0, NULL }
1380 static int
1381 dissect_p22_Repertoire(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1382 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1383 NULL);
1385 return offset;
1389 static const ber_sequence_t IA5TextParameters_set[] = {
1390 { &hf_p22_repertoire , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Repertoire },
1391 { NULL, 0, 0, 0, NULL }
1394 static int
1395 dissect_p22_IA5TextParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1396 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1397 IA5TextParameters_set, hf_index, ett_p22_IA5TextParameters);
1399 return offset;
1404 static int
1405 dissect_p22_IA5TextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1406 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1407 actx, tree, tvb, offset, hf_index,
1408 NULL);
1410 return offset;
1414 static const ber_sequence_t IA5TextBodyPart_sequence[] = {
1415 { &hf_p22_ia5text_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_IA5TextParameters },
1416 { &hf_p22_ia5text_data , BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p22_IA5TextData },
1417 { NULL, 0, 0, 0, NULL }
1420 static int
1421 dissect_p22_IA5TextBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1422 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1423 IA5TextBodyPart_sequence, hf_index, ett_p22_IA5TextBodyPart);
1425 return offset;
1430 static int
1431 dissect_p22_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1432 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1433 NULL);
1435 return offset;
1439 static const ber_sequence_t G3FacsimileParameters_set[] = {
1440 { &hf_p22_number_of_pages , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
1441 { &hf_p22_g3facsimile_non_basic_parameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_G3FacsimileNonBasicParameters },
1442 { NULL, 0, 0, 0, NULL }
1445 static int
1446 dissect_p22_G3FacsimileParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1447 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1448 G3FacsimileParameters_set, hf_index, ett_p22_G3FacsimileParameters);
1450 return offset;
1455 static int
1456 dissect_p22_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1457 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1458 NULL, hf_index, -1,
1459 NULL);
1461 return offset;
1465 static const ber_sequence_t G3FacsimileData_sequence_of[1] = {
1466 { &hf_p22_G3FacsimileData_item, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING },
1469 static int
1470 dissect_p22_G3FacsimileData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1471 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1472 G3FacsimileData_sequence_of, hf_index, ett_p22_G3FacsimileData);
1474 return offset;
1478 static const ber_sequence_t G3FacsimileBodyPart_sequence[] = {
1479 { &hf_p22_g3facsimile_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_G3FacsimileParameters },
1480 { &hf_p22_g3facsimile_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_G3FacsimileData },
1481 { NULL, 0, 0, 0, NULL }
1484 static int
1485 dissect_p22_G3FacsimileBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1486 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1487 G3FacsimileBodyPart_sequence, hf_index, ett_p22_G3FacsimileBodyPart);
1489 return offset;
1494 static int
1495 dissect_p22_Interchange_Data_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1496 #line 267 "../../asn1/p22/p22.cnf"
1497 /* XXX Not implemented yet */
1501 return offset;
1505 static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = {
1506 { &hf_p22_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p22_Interchange_Data_Element },
1509 static int
1510 dissect_p22_G4Class1BodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1511 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1512 G4Class1BodyPart_sequence_of, hf_index, ett_p22_G4Class1BodyPart);
1514 return offset;
1518 static const ber_sequence_t TeletexParameters_set[] = {
1519 { &hf_p22_number_of_pages , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
1520 { &hf_p22_telex_compatible, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN },
1521 { &hf_p22_teletex_non_basic_parameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_TeletexNonBasicParameters },
1522 { NULL, 0, 0, 0, NULL }
1525 static int
1526 dissect_p22_TeletexParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1527 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1528 TeletexParameters_set, hf_index, ett_p22_TeletexParameters);
1530 return offset;
1535 static int
1536 dissect_p22_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1537 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1538 actx, tree, tvb, offset, hf_index,
1539 NULL);
1541 return offset;
1545 static const ber_sequence_t TeletexData_sequence_of[1] = {
1546 { &hf_p22_TeletexData_item, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexString },
1549 static int
1550 dissect_p22_TeletexData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1551 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1552 TeletexData_sequence_of, hf_index, ett_p22_TeletexData);
1554 return offset;
1558 static const ber_sequence_t TeletexBodyPart_sequence[] = {
1559 { &hf_p22_teletex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexParameters },
1560 { &hf_p22_teletex_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_TeletexData },
1561 { NULL, 0, 0, 0, NULL }
1564 static int
1565 dissect_p22_TeletexBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1567 TeletexBodyPart_sequence, hf_index, ett_p22_TeletexBodyPart);
1569 return offset;
1573 static const value_string p22_VideotexSyntax_vals[] = {
1574 { 0, "ids" },
1575 { 1, "data-syntax1" },
1576 { 2, "data-syntax2" },
1577 { 3, "data-syntax3" },
1578 { 0, NULL }
1582 static int
1583 dissect_p22_VideotexSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1584 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1585 NULL);
1587 return offset;
1591 static const ber_sequence_t VideotexParameters_set[] = {
1592 { &hf_p22_syntax , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_VideotexSyntax },
1593 { NULL, 0, 0, 0, NULL }
1596 static int
1597 dissect_p22_VideotexParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1598 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1599 VideotexParameters_set, hf_index, ett_p22_VideotexParameters);
1601 return offset;
1606 static int
1607 dissect_p22_VideotexData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1608 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString,
1609 actx, tree, tvb, offset, hf_index,
1610 NULL);
1612 return offset;
1616 static const ber_sequence_t VideotexBodyPart_sequence[] = {
1617 { &hf_p22_videotex_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_VideotexParameters },
1618 { &hf_p22_videotex_data , BER_CLASS_UNI, BER_UNI_TAG_VideotexString, BER_FLAGS_NOOWNTAG, dissect_p22_VideotexData },
1619 { NULL, 0, 0, 0, NULL }
1622 static int
1623 dissect_p22_VideotexBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1624 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1625 VideotexBodyPart_sequence, hf_index, ett_p22_VideotexBodyPart);
1627 return offset;
1631 static const ber_sequence_t EncryptedParameters_set[] = {
1632 { &hf_p22_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1633 { &hf_p22_originator_certificates, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_ExtendedCertificates },
1634 { NULL, 0, 0, 0, NULL }
1637 static int
1638 dissect_p22_EncryptedParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1639 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1640 EncryptedParameters_set, hf_index, ett_p22_EncryptedParameters);
1642 return offset;
1647 static int
1648 dissect_p22_EncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1649 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1650 NULL, hf_index, -1,
1651 NULL);
1653 return offset;
1657 static const ber_sequence_t EncryptedBodyPart_sequence[] = {
1658 { &hf_p22_encrypted_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptedParameters },
1659 { &hf_p22_encrypted_data , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptedData },
1660 { NULL, 0, 0, 0, NULL }
1663 static int
1664 dissect_p22_EncryptedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1665 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1666 EncryptedBodyPart_sequence, hf_index, ett_p22_EncryptedBodyPart);
1668 return offset;
1672 static const ber_sequence_t MessageParameters_set[] = {
1673 { &hf_p22_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime },
1674 { &hf_p22_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields },
1675 { NULL, 0, 0, 0, NULL }
1679 dissect_p22_MessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1680 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1681 MessageParameters_set, hf_index, ett_p22_MessageParameters);
1683 return offset;
1688 static int
1689 dissect_p22_MessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1690 offset = dissect_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1692 return offset;
1696 static const ber_sequence_t MessageBodyPart_sequence[] = {
1697 { &hf_p22_message_parameters, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_MessageParameters },
1698 { &hf_p22_message_data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_MessageData },
1699 { NULL, 0, 0, 0, NULL }
1702 static int
1703 dissect_p22_MessageBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1704 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1705 MessageBodyPart_sequence, hf_index, ett_p22_MessageBodyPart);
1707 return offset;
1711 static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = {
1712 { &hf_p22_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p22_Interchange_Data_Element },
1715 static int
1716 dissect_p22_MixedModeBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1717 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1718 MixedModeBodyPart_sequence_of, hf_index, ett_p22_MixedModeBodyPart);
1720 return offset;
1725 static int
1726 dissect_p22_BilaterallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1727 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1728 NULL);
1730 return offset;
1735 static int
1736 dissect_p22_NationallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1737 #line 270 "../../asn1/p22/p22.cnf"
1738 /* XXX Not implemented yet */
1742 return offset;
1746 static const value_string p22_T_basic_vals[] = {
1747 { 0, "ia5-text" },
1748 { 3, "g3-facsimile" },
1749 { 4, "g4-class1" },
1750 { 5, "teletex" },
1751 { 6, "videotex" },
1752 { 8, "encrypted" },
1753 { 9, "message" },
1754 { 11, "mixed-mode" },
1755 { 14, "bilaterally-defined" },
1756 { 7, "nationally-defined" },
1757 { 0, NULL }
1760 static const ber_choice_t T_basic_choice[] = {
1761 { 0, &hf_p22_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IA5TextBodyPart },
1762 { 3, &hf_p22_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_G3FacsimileBodyPart },
1763 { 4, &hf_p22_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p22_G4Class1BodyPart },
1764 { 5, &hf_p22_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_p22_TeletexBodyPart },
1765 { 6, &hf_p22_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_p22_VideotexBodyPart },
1766 { 8, &hf_p22_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_p22_EncryptedBodyPart },
1767 { 9, &hf_p22_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_p22_MessageBodyPart },
1768 { 11, &hf_p22_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_p22_MixedModeBodyPart },
1769 { 14, &hf_p22_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_p22_BilaterallyDefinedBodyPart },
1770 { 7, &hf_p22_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_p22_NationallyDefinedBodyPart },
1771 { 0, NULL, 0, 0, 0, NULL }
1774 static int
1775 dissect_p22_T_basic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1776 offset = dissect_ber_choice(actx, tree, tvb, offset,
1777 T_basic_choice, hf_index, ett_p22_T_basic,
1778 NULL);
1780 return offset;
1785 static int
1786 dissect_p22_INSTANCE_OF(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1787 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
1789 return offset;
1793 static const ber_sequence_t ExtendedBodyPart_sequence[] = {
1794 { &hf_p22_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INSTANCE_OF },
1795 { &hf_p22_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p22_INSTANCE_OF },
1796 { NULL, 0, 0, 0, NULL }
1799 static int
1800 dissect_p22_ExtendedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1801 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1802 ExtendedBodyPart_sequence, hf_index, ett_p22_ExtendedBodyPart);
1804 return offset;
1808 static const value_string p22_BodyPart_vals[] = {
1809 { 0, "basic" },
1810 { 1, "extended" },
1811 { 0, NULL }
1814 static const ber_choice_t BodyPart_choice[] = {
1815 { 0, &hf_p22_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_p22_T_basic },
1816 { 1, &hf_p22_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_p22_ExtendedBodyPart },
1817 { 0, NULL, 0, 0, 0, NULL }
1820 static int
1821 dissect_p22_BodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1822 offset = dissect_ber_choice(actx, tree, tvb, offset,
1823 BodyPart_choice, hf_index, ett_p22_BodyPart,
1824 NULL);
1826 return offset;
1830 static const ber_sequence_t Body_sequence_of[1] = {
1831 { &hf_p22_Body_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPart },
1834 static int
1835 dissect_p22_Body(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1836 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1837 Body_sequence_of, hf_index, ett_p22_Body);
1839 return offset;
1843 static const ber_sequence_t IPM_sequence[] = {
1844 { &hf_p22_heading , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_Heading },
1845 { &hf_p22_body , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_Body },
1846 { NULL, 0, 0, 0, NULL }
1850 dissect_p22_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1851 #line 233 "../../asn1/p22/p22.cnf"
1853 col_append_str(actx->pinfo->cinfo, COL_INFO, " Message");
1855 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1856 IPM_sequence, hf_index, ett_p22_IPM);
1862 return offset;
1867 static int
1868 dissect_p22_SubjectIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1869 offset = dissect_p22_IPMIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
1871 return offset;
1876 static int
1877 dissect_p22_IPNOriginatorField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1878 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1880 return offset;
1885 static int
1886 dissect_p22_IPMIntendedRecipientField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1887 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
1889 return offset;
1894 static int
1895 dissect_p22_ConversionEITsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1896 offset = dissect_p1_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
1898 return offset;
1902 static const ber_sequence_t NotificationExtensionsField_set_of[1] = {
1903 { &hf_p22_NotificationExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
1906 static int
1907 dissect_p22_NotificationExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1908 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1909 NotificationExtensionsField_set_of, hf_index, ett_p22_NotificationExtensionsField);
1911 return offset;
1915 const value_string p22_NonReceiptReasonField_vals[] = {
1916 { 0, "ipm-discarded" },
1917 { 1, "ipm-auto-forwarded" },
1918 { 0, NULL }
1923 dissect_p22_NonReceiptReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1924 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1925 NULL);
1927 return offset;
1931 const value_string p22_DiscardReasonField_vals[] = {
1932 { 0, "ipm-expired" },
1933 { 1, "ipm-obsoleted" },
1934 { 2, "user-subscription-terminated" },
1935 { 3, "not-used" },
1936 { 0, NULL }
1941 dissect_p22_DiscardReasonField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1942 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1943 NULL);
1945 return offset;
1950 static int
1951 dissect_p22_AutoForwardComment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1952 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1953 actx, tree, tvb, offset,
1954 0, ub_auto_forward_comment, hf_index, NULL);
1956 return offset;
1961 static int
1962 dissect_p22_AutoForwardCommentField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1963 offset = dissect_p22_AutoForwardComment(implicit_tag, tvb, offset, actx, tree, hf_index);
1965 return offset;
1970 static int
1971 dissect_p22_ReturnedIPMField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1972 offset = dissect_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1974 return offset;
1978 static const ber_sequence_t NRNExtensionsField_set_of[1] = {
1979 { &hf_p22_NRNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
1982 static int
1983 dissect_p22_NRNExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1984 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1985 NRNExtensionsField_set_of, hf_index, ett_p22_NRNExtensionsField);
1987 return offset;
1991 static const ber_sequence_t NonReceiptFields_set[] = {
1992 { &hf_p22_non_receipt_reason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NonReceiptReasonField },
1993 { &hf_p22_discard_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_DiscardReasonField },
1994 { &hf_p22_auto_forward_comment, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AutoForwardCommentField },
1995 { &hf_p22_returned_ipm , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ReturnedIPMField },
1996 { &hf_p22_nrn_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NRNExtensionsField },
1997 { NULL, 0, 0, 0, NULL }
2000 static int
2001 dissect_p22_NonReceiptFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2002 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2003 NonReceiptFields_set, hf_index, ett_p22_NonReceiptFields);
2005 return offset;
2011 dissect_p22_ReceiptTimeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2012 offset = dissect_p22_Time(implicit_tag, tvb, offset, actx, tree, hf_index);
2014 return offset;
2018 static const value_string p22_AcknowledgmentModeField_vals[] = {
2019 { 0, "manual" },
2020 { 1, "automatic" },
2021 { 0, NULL }
2025 static int
2026 dissect_p22_AcknowledgmentModeField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2027 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2028 NULL);
2030 return offset;
2035 static int
2036 dissect_p22_SupplReceiptInfoField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2037 offset = dissect_p1_SupplementaryInformation(implicit_tag, tvb, offset, actx, tree, hf_index);
2039 return offset;
2043 static const ber_sequence_t RNExtensionsField_set_of[1] = {
2044 { &hf_p22_RNExtensionsField_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
2047 static int
2048 dissect_p22_RNExtensionsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2049 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2050 RNExtensionsField_set_of, hf_index, ett_p22_RNExtensionsField);
2052 return offset;
2056 static const ber_sequence_t ReceiptFields_set[] = {
2057 { &hf_p22_receipt_time , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptTimeField },
2058 { &hf_p22_acknowledgment_mode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_AcknowledgmentModeField },
2059 { &hf_p22_suppl_receipt_info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SupplReceiptInfoField },
2060 { &hf_p22_rn_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RNExtensionsField },
2061 { NULL, 0, 0, 0, NULL }
2064 static int
2065 dissect_p22_ReceiptFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2066 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2067 ReceiptFields_set, hf_index, ett_p22_ReceiptFields);
2069 return offset;
2073 static const ber_sequence_t OtherNotificationTypeFields_set_of[1] = {
2074 { &hf_p22_OtherNotificationTypeFields_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_IPMSExtension },
2077 static int
2078 dissect_p22_OtherNotificationTypeFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2079 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2080 OtherNotificationTypeFields_set_of, hf_index, ett_p22_OtherNotificationTypeFields);
2082 return offset;
2086 static const value_string p22_T_choice_vals[] = {
2087 { 0, "non-receipt-fields" },
2088 { 1, "receipt-fields" },
2089 { 2, "other-notification-type-fields" },
2090 { 0, NULL }
2093 static const ber_choice_t T_choice_choice[] = {
2094 { 0, &hf_p22_non_receipt_fields, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NonReceiptFields },
2095 { 1, &hf_p22_receipt_fields , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptFields },
2096 { 2, &hf_p22_other_notification_type_fields, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_OtherNotificationTypeFields },
2097 { 0, NULL, 0, 0, 0, NULL }
2100 static int
2101 dissect_p22_T_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2102 offset = dissect_ber_choice(actx, tree, tvb, offset,
2103 T_choice_choice, hf_index, ett_p22_T_choice,
2104 NULL);
2106 return offset;
2110 static const ber_sequence_t IPN_set[] = {
2111 { &hf_p22_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_SubjectIPMField },
2112 { &hf_p22_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IPNOriginatorField },
2113 { &hf_p22_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IPMIntendedRecipientField },
2114 { &hf_p22_conversion_eits , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_ConversionEITsField },
2115 { &hf_p22_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_NotificationExtensionsField },
2116 { &hf_p22_choice , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_choice },
2117 { NULL, 0, 0, 0, NULL }
2121 dissect_p22_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2122 #line 240 "../../asn1/p22/p22.cnf"
2124 col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification");
2126 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2127 IPN_set, hf_index, ett_p22_IPN);
2132 return offset;
2136 const value_string p22_InformationObject_vals[] = {
2137 { 0, "ipm" },
2138 { 1, "ipn" },
2139 { 0, NULL }
2142 static const ber_choice_t InformationObject_choice[] = {
2143 { 0, &hf_p22_ipm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IPM },
2144 { 1, &hf_p22_ipn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPN },
2145 { 0, NULL, 0, 0, 0, NULL }
2149 dissect_p22_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2150 offset = dissect_ber_choice(actx, tree, tvb, offset,
2151 InformationObject_choice, hf_index, ett_p22_InformationObject,
2152 NULL);
2154 return offset;
2159 static const ber_sequence_t AbsenceAdvice_sequence[] = {
2160 { &hf_p22_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPart },
2161 { &hf_p22_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_Time },
2162 { NULL, 0, 0, 0, NULL }
2165 static int
2166 dissect_p22_AbsenceAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2167 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2168 AbsenceAdvice_sequence, hf_index, ett_p22_AbsenceAdvice);
2170 return offset;
2174 static const ber_sequence_t ChangeOfAddressAdvice_sequence[] = {
2175 { &hf_p22_new_address , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor },
2176 { &hf_p22_effective_from , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Time },
2177 { NULL, 0, 0, 0, NULL }
2180 static int
2181 dissect_p22_ChangeOfAddressAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2182 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2183 ChangeOfAddressAdvice_sequence, hf_index, ett_p22_ChangeOfAddressAdvice);
2185 return offset;
2190 static int
2191 dissect_p22_INTEGER_1_MAX(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2192 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2193 1U, NO_BOUND, hf_index, NULL);
2195 return offset;
2200 static int
2201 dissect_p22_BodyPartNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2202 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2203 1U, NO_BOUND, hf_index, NULL);
2205 return offset;
2209 static const ber_sequence_t T_stored_body_part_sequence[] = {
2210 { &hf_p22_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
2211 { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber },
2212 { NULL, 0, 0, 0, NULL }
2215 static int
2216 dissect_p22_T_stored_body_part(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2217 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2218 T_stored_body_part_sequence, hf_index, ett_p22_T_stored_body_part);
2220 return offset;
2224 static const value_string p22_BodyPartReference_vals[] = {
2225 { 0, "stored-entry" },
2226 { 1, "stored-content" },
2227 { 2, "submitted-body-part" },
2228 { 3, "stored-body-part" },
2229 { 0, NULL }
2232 static const ber_choice_t BodyPartReference_choice[] = {
2233 { 0, &hf_p22_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2234 { 1, &hf_p22_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
2235 { 2, &hf_p22_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER_1_MAX },
2236 { 3, &hf_p22_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_T_stored_body_part },
2237 { 0, NULL, 0, 0, 0, NULL }
2240 static int
2241 dissect_p22_BodyPartReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2242 offset = dissect_ber_choice(actx, tree, tvb, offset,
2243 BodyPartReference_choice, hf_index, ett_p22_BodyPartReference,
2244 NULL);
2246 return offset;
2250 static const ber_sequence_t BodyPartReferences_sequence_of[1] = {
2251 { &hf_p22_BodyPartReferences_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartReference },
2254 static int
2255 dissect_p22_BodyPartReferences(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2256 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2257 BodyPartReferences_sequence_of, hf_index, ett_p22_BodyPartReferences);
2259 return offset;
2263 static const ber_sequence_t IPMAssemblyInstructions_set[] = {
2264 { &hf_p22_assembly_instructions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartReferences },
2265 { NULL, 0, 0, 0, NULL }
2268 static int
2269 dissect_p22_IPMAssemblyInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2270 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2271 IPMAssemblyInstructions_set, hf_index, ett_p22_IPMAssemblyInstructions);
2273 return offset;
2278 static int
2279 dissect_p22_IncompleteCopy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2280 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2282 return offset;
2287 static int
2288 dissect_p22_Language(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2289 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2290 actx, tree, tvb, offset,
2291 2, 5, hf_index, NULL);
2293 return offset;
2297 static const ber_sequence_t Languages_set_of[1] = {
2298 { &hf_p22_Languages_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p22_Language },
2301 static int
2302 dissect_p22_Languages(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2303 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2304 Languages_set_of, hf_index, ett_p22_Languages);
2306 return offset;
2310 static const value_string p22_AutoSubmitted_vals[] = {
2311 { 0, "not-auto-submitted" },
2312 { 1, "auto-generated" },
2313 { 2, "auto-replied" },
2314 { 0, NULL }
2318 static int
2319 dissect_p22_AutoSubmitted(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2320 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2321 NULL);
2323 return offset;
2327 static const ber_sequence_t Signature_sequence[] = {
2328 { &hf_p22_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2329 { &hf_p22_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING },
2330 { NULL, 0, 0, 0, NULL }
2333 static int
2334 dissect_p22_Signature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2335 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2336 Signature_sequence, hf_index, ett_p22_Signature);
2338 return offset;
2343 static int
2344 dissect_p22_BodyPartSignature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2345 offset = dissect_p22_Signature(implicit_tag, tvb, offset, actx, tree, hf_index);
2347 return offset;
2351 static const ber_sequence_t BodyPartSignatures_item_set[] = {
2352 { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber },
2353 { &hf_p22_body_part_signature, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignature },
2354 { &hf_p22_originator_certificate_selector, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
2355 { &hf_p22_originator_certificates, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedCertificates },
2356 { NULL, 0, 0, 0, NULL }
2359 static int
2360 dissect_p22_BodyPartSignatures_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2361 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2362 BodyPartSignatures_item_set, hf_index, ett_p22_BodyPartSignatures_item);
2364 return offset;
2368 static const ber_sequence_t BodyPartSignatures_set_of[1] = {
2369 { &hf_p22_BodyPartSignatures_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignatures_item },
2372 static int
2373 dissect_p22_BodyPartSignatures(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2374 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2375 BodyPartSignatures_set_of, hf_index, ett_p22_BodyPartSignatures);
2377 return offset;
2382 static int
2383 dissect_p22_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2384 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2386 return offset;
2390 static const value_string p22_BodyPartSecurityLabel_vals[] = {
2391 { 0, "body-part-unlabelled" },
2392 { 1, "body-part-security-label" },
2393 { 0, NULL }
2396 static const ber_choice_t BodyPartSecurityLabel_choice[] = {
2397 { 0, &hf_p22_body_part_unlabelled, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
2398 { 1, &hf_p22_body_part_security_label, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
2399 { 0, NULL, 0, 0, 0, NULL }
2402 static int
2403 dissect_p22_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2404 offset = dissect_ber_choice(actx, tree, tvb, offset,
2405 BodyPartSecurityLabel_choice, hf_index, ett_p22_BodyPartSecurityLabel,
2406 NULL);
2408 return offset;
2412 static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = {
2413 { &hf_p22_body_part_security_labels_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartSecurityLabel },
2416 static int
2417 dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2418 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2419 SEQUENCE_OF_BodyPartSecurityLabel_sequence_of, hf_index, ett_p22_SEQUENCE_OF_BodyPartSecurityLabel);
2421 return offset;
2425 static const ber_sequence_t IPMSecurityLabel_sequence[] = {
2426 { &hf_p22_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
2427 { &hf_p22_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
2428 { &hf_p22_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_BodyPartSecurityLabel },
2429 { NULL, 0, 0, 0, NULL }
2432 static int
2433 dissect_p22_IPMSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2434 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2435 IPMSecurityLabel_sequence, hf_index, ett_p22_IPMSecurityLabel);
2437 return offset;
2442 static int
2443 dissect_p22_AuthorizationTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2444 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2446 return offset;
2451 static int
2452 dissect_p22_CirculationTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2453 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2455 return offset;
2460 static int
2461 dissect_p22_CirculationSignatureAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2462 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
2464 return offset;
2468 static const ber_sequence_t CirculationSignatureData_sequence[] = {
2469 { &hf_p22_circulation_signature_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignatureAlgorithmIdentifier },
2470 { &hf_p22_this_IPM , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_p22_ThisIPMField },
2471 { &hf_p22_timestamp , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationTime },
2472 { NULL, 0, 0, 0, NULL }
2475 static int
2476 dissect_p22_CirculationSignatureData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2477 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2478 CirculationSignatureData_sequence, hf_index, ett_p22_CirculationSignatureData);
2480 return offset;
2484 static const ber_sequence_t CirculationSignature_sequence[] = {
2485 { &hf_p22_circulation_signature_data, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignatureData },
2486 { &hf_p22_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2487 { &hf_p22_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING },
2488 { NULL, 0, 0, 0, NULL }
2491 static int
2492 dissect_p22_CirculationSignature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2493 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2494 CirculationSignature_sequence, hf_index, ett_p22_CirculationSignature);
2496 return offset;
2500 static const value_string p22_Checkmark_vals[] = {
2501 { 0, "simple" },
2502 { 1, "timestamped" },
2503 { 2, "signed" },
2504 { 0, NULL }
2507 static const ber_choice_t Checkmark_choice[] = {
2508 { 0, &hf_p22_simple , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p22_NULL },
2509 { 1, &hf_p22_timestamped , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationTime },
2510 { 2, &hf_p22_signed , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationSignature },
2511 { 0, NULL, 0, 0, 0, NULL }
2514 static int
2515 dissect_p22_Checkmark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2516 offset = dissect_ber_choice(actx, tree, tvb, offset,
2517 Checkmark_choice, hf_index, ett_p22_Checkmark,
2518 NULL);
2520 return offset;
2524 static const ber_sequence_t CirculationMember_set[] = {
2525 { &hf_p22_circulation_recipient, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_RecipientSpecifier },
2526 { &hf_p22_checked , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Checkmark },
2527 { NULL, 0, 0, 0, NULL }
2530 static int
2531 dissect_p22_CirculationMember(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2532 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2533 CirculationMember_set, hf_index, ett_p22_CirculationMember);
2535 return offset;
2539 static const ber_sequence_t CirculationList_sequence_of[1] = {
2540 { &hf_p22_CirculationList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_CirculationMember },
2543 static int
2544 dissect_p22_CirculationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2545 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2546 2, ub_circulation_list_members, CirculationList_sequence_of, hf_index, ett_p22_CirculationList);
2548 return offset;
2553 static int
2554 dissect_p22_CirculationListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2555 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2557 return offset;
2562 static int
2563 dissect_p22_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2564 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2566 return offset;
2571 static int
2572 dissect_p22_AlphaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2573 offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2575 return offset;
2579 static const ber_sequence_t DistributionCode_sequence[] = {
2580 { &hf_p22_oid_code , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_OBJECT_IDENTIFIER },
2581 { &hf_p22_alphanumeric_code, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_AlphaCode },
2582 { &hf_p22_or_descriptor , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor },
2583 { NULL, 0, 0, 0, NULL }
2586 static int
2587 dissect_p22_DistributionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2588 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2589 DistributionCode_sequence, hf_index, ett_p22_DistributionCode);
2591 return offset;
2595 static const ber_sequence_t DistributionCodes_sequence_of[1] = {
2596 { &hf_p22_DistributionCodes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_DistributionCode },
2599 static int
2600 dissect_p22_DistributionCodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2601 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2602 1, ub_distribution_codes, DistributionCodes_sequence_of, hf_index, ett_p22_DistributionCodes);
2604 return offset;
2609 static int
2610 dissect_p22_ExtendedSubject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2611 offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2613 return offset;
2618 static int
2619 dissect_p22_DescriptionString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2620 offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2622 return offset;
2626 static const ber_sequence_t InformationCategory_sequence[] = {
2627 { &hf_p22_reference , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
2628 { &hf_p22_description , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_DescriptionString },
2629 { NULL, 0, 0, 0, NULL }
2632 static int
2633 dissect_p22_InformationCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2634 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2635 InformationCategory_sequence, hf_index, ett_p22_InformationCategory);
2637 return offset;
2641 static const ber_sequence_t InformationCategories_sequence_of[1] = {
2642 { &hf_p22_InformationCategories_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_InformationCategory },
2645 static int
2646 dissect_p22_InformationCategories(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2647 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2648 1, ub_information_categories, InformationCategories_sequence_of, hf_index, ett_p22_InformationCategories);
2650 return offset;
2655 static int
2656 dissect_p22_ManualHandlingInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2657 offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2659 return offset;
2663 static const ber_sequence_t ManualHandlingInstructions_sequence_of[1] = {
2664 { &hf_p22_ManualHandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ManualHandlingInstruction },
2667 static int
2668 dissect_p22_ManualHandlingInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2669 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2670 1, ub_manual_handling_instructions, ManualHandlingInstructions_sequence_of, hf_index, ett_p22_ManualHandlingInstructions);
2672 return offset;
2677 static int
2678 dissect_p22_OriginatorsReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2679 offset = dissect_p1_UniversalOrBMPString(implicit_tag, tvb, offset, actx, tree, hf_index);
2681 return offset;
2686 static int
2687 dissect_p22_PrecedencePolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2688 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2690 return offset;
2695 static int
2696 dissect_p22_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2697 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2698 0U, ub_precedence, hf_index, NULL);
2700 return offset;
2705 static int
2706 dissect_p22_CharacterSetRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2707 #line 260 "../../asn1/p22/p22.cnf"
2708 guint32 crs;
2709 offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
2710 1U, 32767U, hf_index, &crs);
2713 if(actx->created_item)
2714 proto_item_append_text(actx->created_item, " (%s)", val_to_str(crs, charsetreg_vals, "unknown"));
2718 return offset;
2722 static const ber_sequence_t GeneralTextParameters_set_of[1] = {
2723 { &hf_p22_GeneralTextParameters_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_CharacterSetRegistration },
2726 static int
2727 dissect_p22_GeneralTextParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2728 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2729 GeneralTextParameters_set_of, hf_index, ett_p22_GeneralTextParameters);
2731 return offset;
2736 static int
2737 dissect_p22_GeneralTextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2738 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
2739 actx, tree, tvb, offset, hf_index,
2740 NULL);
2742 return offset;
2746 static const value_string p22_Pathname_Attribute_vals[] = {
2747 { 0, "incomplete-pathname" },
2748 { 23, "complete-pathname" },
2749 { 0, NULL }
2752 static const ber_choice_t Pathname_Attribute_choice[] = {
2753 { 0, &hf_p22_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2754 { 23, &hf_p22_complete_pathname, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
2755 { 0, NULL, 0, 0, 0, NULL }
2758 static int
2759 dissect_p22_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2760 offset = dissect_ber_choice(actx, tree, tvb, offset,
2761 Pathname_Attribute_choice, hf_index, ett_p22_Pathname_Attribute,
2762 NULL);
2764 return offset;
2769 static int
2770 dissect_p22_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2771 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
2772 actx, tree, tvb, offset, hf_index,
2773 NULL);
2775 return offset;
2779 static const ber_sequence_t PathnameandVersion_sequence[] = {
2780 { &hf_p22_pathname , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Pathname_Attribute },
2781 { &hf_p22_file_version , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_GraphicString },
2782 { NULL, 0, 0, 0, NULL }
2785 static int
2786 dissect_p22_PathnameandVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2787 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2788 PathnameandVersion_sequence, hf_index, ett_p22_PathnameandVersion);
2790 return offset;
2795 static int
2796 dissect_p22_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2797 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2798 NULL);
2800 return offset;
2805 static int
2806 dissect_p22_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2807 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
2808 actx, tree, tvb, offset, hf_index,
2809 NULL);
2811 return offset;
2815 static const ber_sequence_t MessageReference_set[] = {
2816 { &hf_p22_user , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ORName },
2817 { &hf_p22_user_relative_identifier_ref, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_PrintableString },
2818 { NULL, 0, 0, 0, NULL }
2821 static int
2822 dissect_p22_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2823 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2824 MessageReference_set, hf_index, ett_p22_MessageReference);
2826 return offset;
2830 static const ber_sequence_t CrossReference_sequence[] = {
2831 { &hf_p22_application_cross_reference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OCTET_STRING },
2832 { &hf_p22_message_reference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_MessageReference },
2833 { &hf_p22_body_part_reference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
2834 { NULL, 0, 0, 0, NULL }
2837 static int
2838 dissect_p22_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2839 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2840 CrossReference_sequence, hf_index, ett_p22_CrossReference);
2842 return offset;
2846 static const value_string p22_FileIdentifier_vals[] = {
2847 { 0, "pathname-and-version" },
2848 { 1, "cross-reference" },
2849 { 0, NULL }
2852 static const ber_choice_t FileIdentifier_choice[] = {
2853 { 0, &hf_p22_pathname_and_version, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_PathnameandVersion },
2854 { 1, &hf_p22_cross_reference , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_CrossReference },
2855 { 0, NULL, 0, 0, 0, NULL }
2858 static int
2859 dissect_p22_FileIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2860 offset = dissect_ber_choice(actx, tree, tvb, offset,
2861 FileIdentifier_choice, hf_index, ett_p22_FileIdentifier,
2862 NULL);
2864 return offset;
2868 static const value_string p22_ExplicitRelationship_vals[] = {
2869 { 0, "unspecified" },
2870 { 1, "new-file" },
2871 { 2, "replacement" },
2872 { 3, "extension" },
2873 { 0, NULL }
2877 static int
2878 dissect_p22_ExplicitRelationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2879 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2880 NULL);
2882 return offset;
2886 static const value_string p22_Relationship_vals[] = {
2887 { 0, "explicit-relationship" },
2888 { 1, "descriptive-relationship" },
2889 { 0, NULL }
2892 static const ber_choice_t Relationship_choice[] = {
2893 { 0, &hf_p22_explicit_relationship, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_ExplicitRelationship },
2894 { 1, &hf_p22_descriptive_relationship, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_GraphicString },
2895 { 0, NULL, 0, 0, 0, NULL }
2898 static int
2899 dissect_p22_Relationship(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900 offset = dissect_ber_choice(actx, tree, tvb, offset,
2901 Relationship_choice, hf_index, ett_p22_Relationship,
2902 NULL);
2904 return offset;
2908 static const ber_sequence_t RelatedStoredFile_item_sequence[] = {
2909 { &hf_p22_file_identifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_FileIdentifier },
2910 { &hf_p22_relationship , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Relationship },
2911 { NULL, 0, 0, 0, NULL }
2914 static int
2915 dissect_p22_RelatedStoredFile_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2916 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2917 RelatedStoredFile_item_sequence, hf_index, ett_p22_RelatedStoredFile_item);
2919 return offset;
2923 static const ber_sequence_t RelatedStoredFile_set_of[1] = {
2924 { &hf_p22_RelatedStoredFile_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_RelatedStoredFile_item },
2927 static int
2928 dissect_p22_RelatedStoredFile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2929 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2930 RelatedStoredFile_set_of, hf_index, ett_p22_RelatedStoredFile);
2932 return offset;
2937 static int
2938 dissect_p22_Document_Type_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2939 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2941 return offset;
2946 static int
2947 dissect_p22_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2948 #line 273 "../../asn1/p22/p22.cnf"
2949 /* XXX: Not implemented yet */
2953 return offset;
2957 static const ber_sequence_t T_document_type_sequence[] = {
2958 { &hf_p22_document_type_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Document_Type_Name },
2959 { &hf_p22_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_T_parameter },
2960 { NULL, 0, 0, 0, NULL }
2963 static int
2964 dissect_p22_T_document_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2965 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2966 T_document_type_sequence, hf_index, ett_p22_T_document_type);
2968 return offset;
2973 static int
2974 dissect_p22_Constraint_Set_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2975 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2977 return offset;
2982 static int
2983 dissect_p22_Abstract_Syntax_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2984 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2986 return offset;
2990 static const ber_sequence_t T_constraint_set_and_abstract_syntax_sequence[] = {
2991 { &hf_p22_constraint_set_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Constraint_Set_Name },
2992 { &hf_p22_abstract_syntax_name, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p22_Abstract_Syntax_Name },
2993 { NULL, 0, 0, 0, NULL }
2996 static int
2997 dissect_p22_T_constraint_set_and_abstract_syntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2998 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2999 T_constraint_set_and_abstract_syntax_sequence, hf_index, ett_p22_T_constraint_set_and_abstract_syntax);
3001 return offset;
3005 static const value_string p22_Contents_Type_Attribute_vals[] = {
3006 { 0, "document-type" },
3007 { 1, "constraint-set-and-abstract-syntax" },
3008 { 0, NULL }
3011 static const ber_choice_t Contents_Type_Attribute_choice[] = {
3012 { 0, &hf_p22_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_document_type },
3013 { 1, &hf_p22_constraint_set_and_abstract_syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_constraint_set_and_abstract_syntax },
3014 { 0, NULL, 0, 0, 0, NULL }
3017 static int
3018 dissect_p22_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019 offset = dissect_ber_choice(actx, tree, tvb, offset,
3020 Contents_Type_Attribute_choice, hf_index, ett_p22_Contents_Type_Attribute,
3021 NULL);
3023 return offset;
3028 static int
3029 dissect_p22_ContentsTypeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3030 offset = dissect_p22_Contents_Type_Attribute(implicit_tag, tvb, offset, actx, tree, hf_index);
3032 return offset;
3036 static const ber_sequence_t T_descriptive_identifier_sequence_of[1] = {
3037 { &hf_p22_descriptive_identifier_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString },
3040 static int
3041 dissect_p22_T_descriptive_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3042 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3043 T_descriptive_identifier_sequence_of, hf_index, ett_p22_T_descriptive_identifier);
3045 return offset;
3049 static const value_string p22_GeneralIdentifier_vals[] = {
3050 { 0, "registered-identifier" },
3051 { 1, "descriptive-identifier" },
3052 { 0, NULL }
3055 static const ber_choice_t GeneralIdentifier_choice[] = {
3056 { 0, &hf_p22_registered_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3057 { 1, &hf_p22_descriptive_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_descriptive_identifier },
3058 { 0, NULL, 0, 0, 0, NULL }
3061 static int
3062 dissect_p22_GeneralIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3063 offset = dissect_ber_choice(actx, tree, tvb, offset,
3064 GeneralIdentifier_choice, hf_index, ett_p22_GeneralIdentifier,
3065 NULL);
3067 return offset;
3071 static const ber_sequence_t T_user_visible_string_sequence_of[1] = {
3072 { &hf_p22_user_visible_string_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString },
3075 static int
3076 dissect_p22_T_user_visible_string(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3077 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3078 T_user_visible_string_sequence_of, hf_index, ett_p22_T_user_visible_string);
3080 return offset;
3084 static const ber_sequence_t EnvironmentParameter_sequence[] = {
3085 { &hf_p22_application_reference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_GeneralIdentifier },
3086 { &hf_p22_machine , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_GeneralIdentifier },
3087 { &hf_p22_operating_system, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3088 { &hf_p22_user_visible_string, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_T_user_visible_string },
3089 { NULL, 0, 0, 0, NULL }
3092 static int
3093 dissect_p22_EnvironmentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3094 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3095 EnvironmentParameter_sequence, hf_index, ett_p22_EnvironmentParameter);
3097 return offset;
3102 static int
3103 dissect_p22_T_compression_algorithm_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3104 #line 276 "../../asn1/p22/p22.cnf"
3105 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
3109 return offset;
3114 static int
3115 dissect_p22_T_compression_algorithm_param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3116 #line 279 "../../asn1/p22/p22.cnf"
3117 /* XXX: Not implemented yet */
3121 return offset;
3125 static const ber_sequence_t CompressionParameter_sequence[] = {
3126 { &hf_p22_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_T_compression_algorithm_id },
3127 { &hf_p22_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_T_compression_algorithm_param },
3128 { NULL, 0, 0, 0, NULL }
3131 static int
3132 dissect_p22_CompressionParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3133 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3134 CompressionParameter_sequence, hf_index, ett_p22_CompressionParameter);
3136 return offset;
3141 static int
3142 dissect_p22_Account(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3143 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3144 actx, tree, tvb, offset, hf_index,
3145 NULL);
3147 return offset;
3151 static const value_string p22_Account_Attribute_vals[] = {
3152 { 0, "no-value-available" },
3153 { 1, "actual-values" },
3154 { 0, NULL }
3157 static const ber_choice_t Account_Attribute_choice[] = {
3158 { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
3159 { 1, &hf_p22_account_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_Account },
3160 { 0, NULL, 0, 0, 0, NULL }
3163 static int
3164 dissect_p22_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3165 offset = dissect_ber_choice(actx, tree, tvb, offset,
3166 Account_Attribute_choice, hf_index, ett_p22_Account_Attribute,
3167 NULL);
3169 return offset;
3174 static int
3175 dissect_p22_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3176 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3177 actx, tree, tvb, offset, hf_index,
3178 NULL);
3180 return offset;
3184 static const value_string p22_User_Identity_Attribute_vals[] = {
3185 { 0, "no-value-available" },
3186 { 1, "actual-values" },
3187 { 0, NULL }
3190 static const ber_choice_t User_Identity_Attribute_choice[] = {
3191 { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
3192 { 1, &hf_p22_identity_actual_values, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_User_Identity },
3193 { 0, NULL, 0, 0, 0, NULL }
3196 static int
3197 dissect_p22_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3198 offset = dissect_ber_choice(actx, tree, tvb, offset,
3199 User_Identity_Attribute_choice, hf_index, ett_p22_User_Identity_Attribute,
3200 NULL);
3202 return offset;
3206 static const asn_namedbit Access_Request_bits[] = {
3207 { 0, &hf_p22_Access_Request_read, -1, -1, "read", NULL },
3208 { 1, &hf_p22_Access_Request_insert, -1, -1, "insert", NULL },
3209 { 2, &hf_p22_Access_Request_replace, -1, -1, "replace", NULL },
3210 { 3, &hf_p22_Access_Request_extend, -1, -1, "extend", NULL },
3211 { 4, &hf_p22_Access_Request_erase, -1, -1, "erase", NULL },
3212 { 5, &hf_p22_Access_Request_read_attribute, -1, -1, "read-attribute", NULL },
3213 { 6, &hf_p22_Access_Request_change_attribute, -1, -1, "change-attribute", NULL },
3214 { 7, &hf_p22_Access_Request_delete_object, -1, -1, "delete-object", NULL },
3215 { 0, NULL, 0, 0, NULL, NULL }
3218 static int
3219 dissect_p22_Access_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3220 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3221 Access_Request_bits, hf_index, ett_p22_Access_Request,
3222 NULL);
3224 return offset;
3228 static const value_string p22_Password_vals[] = {
3229 { 0, "graphic-string" },
3230 { 1, "octet-string" },
3231 { 0, NULL }
3234 static const ber_choice_t Password_choice[] = {
3235 { 0, &hf_p22_graphic_string , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_p22_GraphicString },
3236 { 1, &hf_p22_octet_string , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_OCTET_STRING },
3237 { 0, NULL, 0, 0, 0, NULL }
3240 static int
3241 dissect_p22_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3242 offset = dissect_ber_choice(actx, tree, tvb, offset,
3243 Password_choice, hf_index, ett_p22_Password,
3244 NULL);
3246 return offset;
3250 static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
3251 { &hf_p22_Pass_Passwords_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3254 static int
3255 dissect_p22_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3256 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3257 Pass_Passwords_sequence_of, hf_index, ett_p22_Pass_Passwords);
3259 return offset;
3263 static const ber_sequence_t Access_Passwords_sequence[] = {
3264 { &hf_p22_read_password , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3265 { &hf_p22_insert_password , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3266 { &hf_p22_replace_password, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3267 { &hf_p22_extend_password , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3268 { &hf_p22_erase_password , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3269 { &hf_p22_read_attribute_password, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3270 { &hf_p22_change_attribute_password, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3271 { &hf_p22_delete_password , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3272 { &hf_p22_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_p22_Pass_Passwords },
3273 { &hf_p22_link_password , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Password },
3274 { NULL, 0, 0, 0, NULL }
3277 static int
3278 dissect_p22_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3279 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3280 Access_Passwords_sequence, hf_index, ett_p22_Access_Passwords);
3282 return offset;
3286 static const ber_sequence_t Application_Entity_Title_sequence[] = {
3287 { &hf_p22_ap_title , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AP_title },
3288 { &hf_p22_ae_qualifier , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_acse_AE_qualifier },
3289 { NULL, 0, 0, 0, NULL }
3292 static int
3293 dissect_p22_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3294 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3295 Application_Entity_Title_sequence, hf_index, ett_p22_Application_Entity_Title);
3297 return offset;
3301 static const ber_sequence_t Access_Control_Element_sequence[] = {
3302 { &hf_p22_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_Access_Request },
3303 { &hf_p22_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
3304 { &hf_p22_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_User_Identity },
3305 { &hf_p22_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Access_Passwords },
3306 { &hf_p22_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_Application_Entity_Title },
3307 { NULL, 0, 0, 0, NULL }
3310 static int
3311 dissect_p22_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3312 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3313 Access_Control_Element_sequence, hf_index, ett_p22_Access_Control_Element);
3315 return offset;
3319 static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
3320 { &hf_p22_actual_values_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p22_Access_Control_Element },
3323 static int
3324 dissect_p22_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3325 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3326 SET_OF_Access_Control_Element_set_of, hf_index, ett_p22_SET_OF_Access_Control_Element);
3328 return offset;
3332 static const value_string p22_Access_Control_Attribute_vals[] = {
3333 { 0, "no-value-available" },
3334 { 1, "actual-values" },
3335 { 0, NULL }
3338 static const ber_choice_t Access_Control_Attribute_choice[] = {
3339 { 0, &hf_p22_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
3340 { 1, &hf_p22_actual_values , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SET_OF_Access_Control_Element },
3341 { 0, NULL, 0, 0, 0, NULL }
3344 static int
3345 dissect_p22_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3346 offset = dissect_ber_choice(actx, tree, tvb, offset,
3347 Access_Control_Attribute_choice, hf_index, ett_p22_Access_Control_Attribute,
3348 NULL);
3350 return offset;
3354 static const ber_sequence_t FileAttributes_sequence[] = {
3355 { &hf_p22_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Pathname_Attribute },
3356 { &hf_p22_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
3357 { &hf_p22_storage_account , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Account_Attribute },
3358 { &hf_p22_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3359 { &hf_p22_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Attribute },
3360 { &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 },
3361 { &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 },
3362 { &hf_p22_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute },
3363 { &hf_p22_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute },
3364 { &hf_p22_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_User_Identity_Attribute },
3365 { &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 },
3366 { &hf_p22_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Availability_Attribute },
3367 { &hf_p22_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3368 { &hf_p22_future_object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Size_Attribute },
3369 { &hf_p22_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_Access_Control_Attribute },
3370 { &hf_p22_legal_qualifications, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Legal_Qualification_Attribute },
3371 { &hf_p22_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Private_Use_Attribute },
3372 { &hf_p22_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
3373 { NULL, 0, 0, 0, NULL }
3376 static int
3377 dissect_p22_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3378 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3379 FileAttributes_sequence, hf_index, ett_p22_FileAttributes);
3381 return offset;
3385 static const ber_sequence_t FileTransferParameters_sequence[] = {
3386 { &hf_p22_related_stored_file, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_RelatedStoredFile },
3387 { &hf_p22_contents_type , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_ContentsTypeParameter },
3388 { &hf_p22_environment , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_EnvironmentParameter },
3389 { &hf_p22_compression , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_CompressionParameter },
3390 { &hf_p22_file_attributes , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_FileAttributes },
3391 { &hf_p22_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_ExtensionsField },
3392 { NULL, 0, 0, 0, NULL }
3395 static int
3396 dissect_p22_FileTransferParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3397 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3398 FileTransferParameters_sequence, hf_index, ett_p22_FileTransferParameters);
3400 return offset;
3405 static int
3406 dissect_p22_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3407 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
3409 return offset;
3413 static const ber_sequence_t FileTransferData_sequence_of[1] = {
3414 { &hf_p22_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_p22_EXTERNAL },
3417 static int
3418 dissect_p22_FileTransferData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3419 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3420 FileTransferData_sequence_of, hf_index, ett_p22_FileTransferData);
3422 return offset;
3427 static int
3428 dissect_p22_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3429 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
3430 actx, tree, tvb, offset, hf_index,
3431 NULL);
3433 return offset;
3437 static const ber_sequence_t VoiceParameters_sequence[] = {
3438 { &hf_p22_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
3439 { &hf_p22_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3440 { &hf_p22_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_IA5String },
3441 { NULL, 0, 0, 0, NULL }
3444 static int
3445 dissect_p22_VoiceParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3446 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3447 VoiceParameters_sequence, hf_index, ett_p22_VoiceParameters);
3449 return offset;
3454 static int
3455 dissect_p22_VoiceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3456 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3457 NULL);
3459 return offset;
3463 static const ber_sequence_t SubmissionProof_set[] = {
3464 { &hf_p22_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_ProofOfSubmission },
3465 { &hf_p22_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OriginatingMTACertificate },
3466 { &hf_p22_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p1_MessageSubmissionEnvelope },
3467 { NULL, 0, 0, 0, NULL }
3470 static int
3471 dissect_p22_SubmissionProof(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3472 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3473 SubmissionProof_set, hf_index, ett_p22_SubmissionProof);
3475 return offset;
3479 static const ber_sequence_t ForwardedContentParameters_set[] = {
3480 { &hf_p22_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime },
3481 { &hf_p22_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields },
3482 { &hf_p22_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryIdentifier },
3483 { &hf_p22_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_SubmissionProof },
3484 { NULL, 0, 0, 0, NULL }
3487 static int
3488 dissect_p22_ForwardedContentParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3489 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3490 ForwardedContentParameters_set, hf_index, ett_p22_ForwardedContentParameters);
3492 return offset;
3496 static const value_string p22_IPMEntryType_vals[] = {
3497 { 0, "ipm" },
3498 { 1, "rn" },
3499 { 2, "nrn" },
3500 { 3, "on" },
3501 { 0, NULL }
3505 static int
3506 dissect_p22_IPMEntryType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3507 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3508 NULL);
3510 return offset;
3514 static const ber_sequence_t MessageBodyPartSynopsis_sequence[] = {
3515 { &hf_p22_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3516 { &hf_p22_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPMSynopsis },
3517 { NULL, 0, 0, 0, NULL }
3520 static int
3521 dissect_p22_MessageBodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3522 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3523 MessageBodyPartSynopsis_sequence, hf_index, ett_p22_MessageBodyPartSynopsis);
3525 return offset;
3529 static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = {
3530 { &hf_p22_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3531 { &hf_p22_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_INSTANCE_OF },
3532 { &hf_p22_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
3533 { &hf_p22_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN },
3534 { NULL, 0, 0, 0, NULL }
3537 static int
3538 dissect_p22_NonMessageBodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3539 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3540 NonMessageBodyPartSynopsis_sequence, hf_index, ett_p22_NonMessageBodyPartSynopsis);
3542 return offset;
3546 static const value_string p22_BodyPartSynopsis_vals[] = {
3547 { 0, "message" },
3548 { 1, "non-message" },
3549 { 0, NULL }
3552 static const ber_choice_t BodyPartSynopsis_choice[] = {
3553 { 0, &hf_p22_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_MessageBodyPartSynopsis },
3554 { 1, &hf_p22_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_NonMessageBodyPartSynopsis },
3555 { 0, NULL, 0, 0, 0, NULL }
3558 static int
3559 dissect_p22_BodyPartSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3560 offset = dissect_ber_choice(actx, tree, tvb, offset,
3561 BodyPartSynopsis_choice, hf_index, ett_p22_BodyPartSynopsis,
3562 NULL);
3564 return offset;
3568 static const ber_sequence_t IPMSynopsis_sequence_of[1] = {
3569 { &hf_p22_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_BodyPartSynopsis },
3572 static int
3573 dissect_p22_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3574 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3575 IPMSynopsis_sequence_of, hf_index, ett_p22_IPMSynopsis);
3577 return offset;
3581 static const ber_sequence_t BodyPartDescriptor_sequence[] = {
3582 { &hf_p22_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3583 { &hf_p22_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OBJECT_IDENTIFIER },
3584 { &hf_p22_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
3585 { &hf_p22_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
3586 { &hf_p22_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_p22_INTEGER },
3587 { &hf_p22_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_BOOLEAN },
3588 { NULL, 0, 0, 0, NULL }
3591 static int
3592 dissect_p22_BodyPartDescriptor(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3593 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3594 BodyPartDescriptor_sequence, hf_index, ett_p22_BodyPartDescriptor);
3596 return offset;
3600 static const ber_sequence_t BodyPartSignatureVerification_item_set[] = {
3601 { &hf_p22_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartNumber },
3602 { &hf_p22_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus },
3603 { NULL, 0, 0, 0, NULL }
3606 static int
3607 dissect_p22_BodyPartSignatureVerification_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3608 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3609 BodyPartSignatureVerification_item_set, hf_index, ett_p22_BodyPartSignatureVerification_item);
3611 return offset;
3615 static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = {
3616 { &hf_p22_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartSignatureVerification_item },
3619 static int
3620 dissect_p22_BodyPartSignatureVerification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3621 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3622 BodyPartSignatureVerification_set_of, hf_index, ett_p22_BodyPartSignatureVerification);
3624 return offset;
3628 static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = {
3629 { &hf_p22_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3632 static int
3633 dissect_p22_SET_OF_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3634 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3635 SET_OF_SequenceNumber_set_of, hf_index, ett_p22_SET_OF_SequenceNumber);
3637 return offset;
3641 static const value_string p22_IPMLocation_vals[] = {
3642 { 0, "stored" },
3643 { 1, "absent" },
3644 { 0, NULL }
3647 static const ber_choice_t IPMLocation_choice[] = {
3648 { 0, &hf_p22_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_SET_OF_SequenceNumber },
3649 { 1, &hf_p22_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_p22_NULL },
3650 { 0, NULL, 0, 0, 0, NULL }
3653 static int
3654 dissect_p22_IPMLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3655 offset = dissect_ber_choice(actx, tree, tvb, offset,
3656 IPMLocation_choice, hf_index, ett_p22_IPMLocation,
3657 NULL);
3659 return offset;
3663 static const value_string p22_DeliveredReplyStatus_vals[] = {
3664 { 0, "no-reply-requested" },
3665 { 1, "reply-outstanding" },
3666 { 2, "reply-received" },
3667 { 0, NULL }
3671 static int
3672 dissect_p22_DeliveredReplyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3673 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3674 NULL);
3676 return offset;
3680 static const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = {
3681 { &hf_p22_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
3684 static int
3685 dissect_p22_SEQUENCE_OF_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3686 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3687 SEQUENCE_OF_SequenceNumber_sequence_of, hf_index, ett_p22_SEQUENCE_OF_SequenceNumber);
3689 return offset;
3693 static const value_string p22_CorrelatedDeliveredReplies_vals[] = {
3694 { 0, "no-reply-received" },
3695 { 1, "received-replies" },
3696 { 0, NULL }
3699 static const ber_choice_t CorrelatedDeliveredReplies_choice[] = {
3700 { 0, &hf_p22_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
3701 { 1, &hf_p22_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_SequenceNumber },
3702 { 0, NULL, 0, 0, 0, NULL }
3705 static int
3706 dissect_p22_CorrelatedDeliveredReplies(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3707 offset = dissect_ber_choice(actx, tree, tvb, offset,
3708 CorrelatedDeliveredReplies_choice, hf_index, ett_p22_CorrelatedDeliveredReplies,
3709 NULL);
3711 return offset;
3715 static const value_string p22_DeliveredIPNStatus_vals[] = {
3716 { 0, "no-ipn-requested" },
3717 { 3, "an-requested" },
3718 { 5, "nrn-requested" },
3719 { 10, "rn-requested" },
3720 { 13, "an-received" },
3721 { 15, "ipm-auto-forwarded" },
3722 { 20, "ipm-discarded" },
3723 { 25, "rn-received" },
3724 { 0, NULL }
3728 static int
3729 dissect_p22_DeliveredIPNStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3730 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3731 NULL);
3733 return offset;
3737 static const value_string p22_CorrelatedDeliveredIPNs_vals[] = {
3738 { 0, "no-ipn-received" },
3739 { 1, "ipns-received" },
3740 { 0, NULL }
3743 static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = {
3744 { 0, &hf_p22_no_ipn_received , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_NULL },
3745 { 1, &hf_p22_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_SEQUENCE_OF_SequenceNumber },
3746 { 0, NULL, 0, 0, 0, NULL }
3749 static int
3750 dissect_p22_CorrelatedDeliveredIPNs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3751 offset = dissect_ber_choice(actx, tree, tvb, offset,
3752 CorrelatedDeliveredIPNs_choice, hf_index, ett_p22_CorrelatedDeliveredIPNs,
3753 NULL);
3755 return offset;
3759 static const value_string p22_SubmittedReplyStatus_vals[] = {
3760 { 0, "no-reply-requested" },
3761 { 1, "no-reply-intended" },
3762 { 2, "reply-pending" },
3763 { 3, "reply-sent" },
3764 { 0, NULL }
3768 static int
3769 dissect_p22_SubmittedReplyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3770 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3771 NULL);
3773 return offset;
3777 static const value_string p22_SubmittedIPNStatus_vals[] = {
3778 { 0, "no-ipn-requested" },
3779 { 5, "nrn-requested" },
3780 { 10, "nrn-with-ipm-return-requested" },
3781 { 15, "rn-requested" },
3782 { 20, "rn-with-ipm-return-requested" },
3783 { 25, "ipm-auto-forwarded" },
3784 { 30, "ipm-discarded" },
3785 { 35, "rn-sent" },
3786 { 0, NULL }
3790 static int
3791 dissect_p22_SubmittedIPNStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3792 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3793 NULL);
3795 return offset;
3799 static const value_string p22_RecipientCategory_vals[] = {
3800 { 0, "primary-recipient" },
3801 { 1, "copy-recipient" },
3802 { 2, "blind-copy-recipient" },
3803 { 3, "category-unknown" },
3804 { 4, "circulation-list" },
3805 { 0, NULL }
3809 static int
3810 dissect_p22_RecipientCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3811 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3812 NULL);
3814 return offset;
3818 static const asn_namedbit RecipientSecurityRequest_bits[] = {
3819 { 0, &hf_p22_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL },
3820 { 1, &hf_p22_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL },
3821 { 2, &hf_p22_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL },
3822 { 3, &hf_p22_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL },
3823 { 0, NULL, 0, 0, NULL, NULL }
3826 static int
3827 dissect_p22_RecipientSecurityRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3828 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3829 RecipientSecurityRequest_bits, hf_index, ett_p22_RecipientSecurityRequest,
3830 NULL);
3832 return offset;
3837 static int
3838 dissect_p22_OriginalContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3839 offset = dissect_p1_Content(implicit_tag, tvb, offset, actx, tree, hf_index);
3841 return offset;
3846 static int
3847 dissect_p22_OriginalContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3848 offset = dissect_p1_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3850 return offset;
3855 static int
3856 dissect_p22_OriginalMessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3857 offset = dissect_p1_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
3859 return offset;
3864 static int
3865 dissect_p22_OriginalMessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3866 offset = dissect_p1_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index);
3868 return offset;
3872 static const ber_sequence_t T_original_security_arguments_set[] = {
3873 { &hf_p22_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalContentIntegrityCheck },
3874 { &hf_p22_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalMessageOriginAuthenticationCheck },
3875 { &hf_p22_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p22_OriginalMessageToken },
3876 { NULL, 0, 0, 0, NULL }
3879 static int
3880 dissect_p22_T_original_security_arguments(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3881 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3882 T_original_security_arguments_set, hf_index, ett_p22_T_original_security_arguments);
3884 return offset;
3888 static const value_string p22_T_content_or_arguments_vals[] = {
3889 { 0, "original-content" },
3890 { 1, "original-security-arguments" },
3891 { 0, NULL }
3894 static const ber_choice_t T_content_or_arguments_choice[] = {
3895 { 0, &hf_p22_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_OriginalContent },
3896 { 1, &hf_p22_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_T_original_security_arguments },
3897 { 0, NULL, 0, 0, 0, NULL }
3900 static int
3901 dissect_p22_T_content_or_arguments(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3902 offset = dissect_ber_choice(actx, tree, tvb, offset,
3903 T_content_or_arguments_choice, hf_index, ett_p22_T_content_or_arguments,
3904 NULL);
3906 return offset;
3910 static const value_string p22_SecurityDiagnosticCode_vals[] = {
3911 { 0, "integrity-failure-on-subject-message" },
3912 { 1, "integrity-failure-on-forwarded-message" },
3913 { 2, "moac-failure-on-subject-message" },
3914 { 3, "unsupported-security-policy" },
3915 { 4, "unsupported-algorithm-identifier" },
3916 { 5, "decryption-failed" },
3917 { 6, "token-error" },
3918 { 7, "unable-to-sign-notification" },
3919 { 8, "unable-to-sign-message-receipt" },
3920 { 9, "authentication-failure-on-subject-message" },
3921 { 10, "security-context-failure-message" },
3922 { 11, "message-sequence-failure" },
3923 { 12, "message-security-labelling-failure" },
3924 { 13, "repudiation-failure-of-message" },
3925 { 14, "failure-of-proof-of-message" },
3926 { 15, "signature-key-unobtainable" },
3927 { 16, "decryption-key-unobtainable" },
3928 { 17, "key-failure" },
3929 { 18, "unsupported-request-for-security-service" },
3930 { 19, "inconsistent-request-for-security-service" },
3931 { 20, "ipn-non-repudiation-provided-instead-of-content-proof" },
3932 { 21, "token-decryption-failed" },
3933 { 22, "double-enveloping-message-restoring-failure" },
3934 { 23, "unauthorised-dl-member" },
3935 { 24, "reception-security-failure" },
3936 { 25, "unsuitable-alternate-recipient" },
3937 { 26, "security-services-refusal" },
3938 { 27, "unauthorised-recipient" },
3939 { 28, "unknown-certification-authority-name" },
3940 { 29, "unknown-dl-name" },
3941 { 30, "unknown-originator-name" },
3942 { 31, "unknown-recipient-name" },
3943 { 32, "security-policy-violation" },
3944 { 0, NULL }
3948 static int
3949 dissect_p22_SecurityDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3950 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3951 NULL);
3953 return offset;
3957 static const ber_sequence_t IpnSecurityResponse_set[] = {
3958 { &hf_p22_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_T_content_or_arguments },
3959 { &hf_p22_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p22_SecurityDiagnosticCode },
3960 { NULL, 0, 0, 0, NULL }
3963 static int
3964 dissect_p22_IpnSecurityResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3965 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3966 IpnSecurityResponse_set, hf_index, ett_p22_IpnSecurityResponse);
3968 return offset;
3972 static const ber_sequence_t EncryptionToken_set[] = {
3973 { &hf_p22_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3974 { &hf_p22_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_p22_BIT_STRING },
3975 { &hf_p22_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3976 { &hf_p22_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
3977 { &hf_p22_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
3978 { &hf_p22_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_ExtendedCertificates },
3979 { NULL, 0, 0, 0, NULL }
3982 static int
3983 dissect_p22_EncryptionToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3984 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3985 EncryptionToken_set, hf_index, ett_p22_EncryptionToken);
3987 return offset;
3991 static const value_string p22_T_body_part_choice_vals[] = {
3992 { 0, "encryption-token" },
3993 { 1, "message-or-content-body-part" },
3994 { 0, NULL }
3997 static const ber_choice_t T_body_part_choice_choice[] = {
3998 { 0, &hf_p22_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_EncryptionToken },
3999 { 1, &hf_p22_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_BodyPartTokens },
4000 { 0, NULL, 0, 0, 0, NULL }
4003 static int
4004 dissect_p22_T_body_part_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4005 offset = dissect_ber_choice(actx, tree, tvb, offset,
4006 T_body_part_choice_choice, hf_index, ett_p22_T_body_part_choice,
4007 NULL);
4009 return offset;
4013 static const ber_sequence_t BodyPartTokens_item_set[] = {
4014 { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber },
4015 { &hf_p22_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_p22_T_body_part_choice },
4016 { NULL, 0, 0, 0, NULL }
4019 static int
4020 dissect_p22_BodyPartTokens_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4021 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4022 BodyPartTokens_item_set, hf_index, ett_p22_BodyPartTokens_item);
4024 return offset;
4028 static const ber_sequence_t BodyPartTokens_set_of[1] = {
4029 { &hf_p22_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartTokens_item },
4032 static int
4033 dissect_p22_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4034 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4035 BodyPartTokens_set_of, hf_index, ett_p22_BodyPartTokens);
4037 return offset;
4041 static const value_string p22_T_body_part_token_choice_vals[] = {
4042 { 0, "forwarding-token" },
4043 { 1, "message-or-content-body-part" },
4044 { 0, NULL }
4047 static const ber_choice_t T_body_part_token_choice_choice[] = {
4048 { 0, &hf_p22_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p1_MessageToken },
4049 { 1, &hf_p22_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ForwardedContentToken },
4050 { 0, NULL, 0, 0, 0, NULL }
4053 static int
4054 dissect_p22_T_body_part_token_choice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4055 offset = dissect_ber_choice(actx, tree, tvb, offset,
4056 T_body_part_token_choice_choice, hf_index, ett_p22_T_body_part_token_choice,
4057 NULL);
4059 return offset;
4063 static const ber_sequence_t ForwardedContentToken_item_set[] = {
4064 { &hf_p22_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p22_BodyPartNumber },
4065 { &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 },
4066 { NULL, 0, 0, 0, NULL }
4069 static int
4070 dissect_p22_ForwardedContentToken_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4071 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4072 ForwardedContentToken_item_set, hf_index, ett_p22_ForwardedContentToken_item);
4074 return offset;
4078 static const ber_sequence_t ForwardedContentToken_set_of[1] = {
4079 { &hf_p22_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ForwardedContentToken_item },
4082 static int
4083 dissect_p22_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4084 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4085 ForwardedContentToken_set_of, hf_index, ett_p22_ForwardedContentToken);
4087 return offset;
4090 /*--- PDUs ---*/
4092 static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4093 asn1_ctx_t asn1_ctx;
4094 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4095 dissect_p22_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationObject_PDU);
4097 static void dissect_Heading_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4098 asn1_ctx_t asn1_ctx;
4099 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4100 dissect_p22_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Heading_PDU);
4102 static void dissect_ORDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4103 asn1_ctx_t asn1_ctx;
4104 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4105 dissect_p22_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ORDescriptor_PDU);
4107 static void dissect_ThisIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4108 asn1_ctx_t asn1_ctx;
4109 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4110 dissect_p22_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ThisIPMField_PDU);
4112 static void dissect_OriginatorField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4113 asn1_ctx_t asn1_ctx;
4114 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4115 dissect_p22_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_OriginatorField_PDU);
4117 static void dissect_AuthorizingUsersSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4118 asn1_ctx_t asn1_ctx;
4119 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4120 dissect_p22_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AuthorizingUsersSubfield_PDU);
4122 static void dissect_PrimaryRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4123 asn1_ctx_t asn1_ctx;
4124 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4125 dissect_p22_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_PrimaryRecipientsSubfield_PDU);
4127 static void dissect_CopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4128 asn1_ctx_t asn1_ctx;
4129 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4130 dissect_p22_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CopyRecipientsSubfield_PDU);
4132 static void dissect_BlindCopyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4133 asn1_ctx_t asn1_ctx;
4134 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4135 dissect_p22_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BlindCopyRecipientsSubfield_PDU);
4137 static void dissect_RepliedToIPMField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4138 asn1_ctx_t asn1_ctx;
4139 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4140 dissect_p22_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RepliedToIPMField_PDU);
4142 static void dissect_ObsoletedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4143 asn1_ctx_t asn1_ctx;
4144 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4145 dissect_p22_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ObsoletedIPMsSubfield_PDU);
4147 static void dissect_RelatedIPMsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4148 asn1_ctx_t asn1_ctx;
4149 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4150 dissect_p22_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RelatedIPMsSubfield_PDU);
4152 static void dissect_SubjectField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4153 asn1_ctx_t asn1_ctx;
4154 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4155 dissect_p22_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubjectField_PDU);
4157 static void dissect_ExpiryTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4158 asn1_ctx_t asn1_ctx;
4159 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4160 dissect_p22_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ExpiryTimeField_PDU);
4162 static void dissect_ReplyTimeField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4163 asn1_ctx_t asn1_ctx;
4164 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4165 dissect_p22_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ReplyTimeField_PDU);
4167 static void dissect_ReplyRecipientsSubfield_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4168 asn1_ctx_t asn1_ctx;
4169 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4170 dissect_p22_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ReplyRecipientsSubfield_PDU);
4172 static void dissect_ImportanceField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4173 asn1_ctx_t asn1_ctx;
4174 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4175 dissect_p22_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ImportanceField_PDU);
4177 static void dissect_SensitivityField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4178 asn1_ctx_t asn1_ctx;
4179 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4180 dissect_p22_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SensitivityField_PDU);
4182 static void dissect_AutoForwardedField_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4183 asn1_ctx_t asn1_ctx;
4184 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4185 dissect_p22_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AutoForwardedField_PDU);
4187 static void dissect_Body_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4188 asn1_ctx_t asn1_ctx;
4189 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4190 dissect_p22_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Body_PDU);
4192 static void dissect_IA5TextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4193 asn1_ctx_t asn1_ctx;
4194 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4195 dissect_p22_IA5TextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IA5TextParameters_PDU);
4197 static void dissect_IA5TextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4198 asn1_ctx_t asn1_ctx;
4199 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4200 dissect_p22_IA5TextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IA5TextData_PDU);
4202 static void dissect_G3FacsimileParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4203 asn1_ctx_t asn1_ctx;
4204 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4205 dissect_p22_G3FacsimileParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G3FacsimileParameters_PDU);
4207 static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4208 asn1_ctx_t asn1_ctx;
4209 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4210 dissect_p22_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G3FacsimileData_PDU);
4212 static void dissect_G4Class1BodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4213 asn1_ctx_t asn1_ctx;
4214 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4215 dissect_p22_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_G4Class1BodyPart_PDU);
4217 static void dissect_MixedModeBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4218 asn1_ctx_t asn1_ctx;
4219 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4220 dissect_p22_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MixedModeBodyPart_PDU);
4222 static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4223 asn1_ctx_t asn1_ctx;
4224 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4225 dissect_p22_TeletexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_TeletexParameters_PDU);
4227 static void dissect_TeletexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4228 asn1_ctx_t asn1_ctx;
4229 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4230 dissect_p22_TeletexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_TeletexData_PDU);
4232 static void dissect_VideotexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4233 asn1_ctx_t asn1_ctx;
4234 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4235 dissect_p22_VideotexParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VideotexParameters_PDU);
4237 static void dissect_VideotexData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4238 asn1_ctx_t asn1_ctx;
4239 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4240 dissect_p22_VideotexData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VideotexData_PDU);
4242 static void dissect_EncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4243 asn1_ctx_t asn1_ctx;
4244 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4245 dissect_p22_EncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_EncryptedParameters_PDU);
4247 static void dissect_EncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4248 asn1_ctx_t asn1_ctx;
4249 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4250 dissect_p22_EncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_EncryptedData_PDU);
4252 static void dissect_MessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4253 asn1_ctx_t asn1_ctx;
4254 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4255 dissect_p22_MessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MessageParameters_PDU);
4257 static void dissect_MessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4258 asn1_ctx_t asn1_ctx;
4259 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4260 dissect_p22_MessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_MessageData_PDU);
4262 static void dissect_BilaterallyDefinedBodyPart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4263 asn1_ctx_t asn1_ctx;
4264 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4265 dissect_p22_BilaterallyDefinedBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BilaterallyDefinedBodyPart_PDU);
4267 static void dissect_IPN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4268 asn1_ctx_t asn1_ctx;
4269 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4270 dissect_p22_IPN(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPN_PDU);
4272 static void dissect_AbsenceAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4273 asn1_ctx_t asn1_ctx;
4274 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4275 dissect_p22_AbsenceAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AbsenceAdvice_PDU);
4277 static void dissect_ChangeOfAddressAdvice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4278 asn1_ctx_t asn1_ctx;
4279 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4280 dissect_p22_ChangeOfAddressAdvice(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ChangeOfAddressAdvice_PDU);
4282 static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4283 asn1_ctx_t asn1_ctx;
4284 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4285 dissect_p22_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMAssemblyInstructions_PDU);
4287 static void dissect_IncompleteCopy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4288 asn1_ctx_t asn1_ctx;
4289 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4290 dissect_p22_IncompleteCopy(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IncompleteCopy_PDU);
4292 static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4293 asn1_ctx_t asn1_ctx;
4294 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4295 dissect_p22_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Languages_PDU);
4297 static void dissect_Language_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4298 asn1_ctx_t asn1_ctx;
4299 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4300 dissect_p22_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Language_PDU);
4302 static void dissect_AutoSubmitted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4303 asn1_ctx_t asn1_ctx;
4304 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4305 dissect_p22_AutoSubmitted(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AutoSubmitted_PDU);
4307 static void dissect_BodyPartSignatures_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4308 asn1_ctx_t asn1_ctx;
4309 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4310 dissect_p22_BodyPartSignatures(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSignatures_PDU);
4312 static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4313 asn1_ctx_t asn1_ctx;
4314 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4315 dissect_p22_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMSecurityLabel_PDU);
4317 static void dissect_BodyPartSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4318 asn1_ctx_t asn1_ctx;
4319 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4320 dissect_p22_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSecurityLabel_PDU);
4322 static void dissect_AuthorizationTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4323 asn1_ctx_t asn1_ctx;
4324 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4325 dissect_p22_AuthorizationTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_AuthorizationTime_PDU);
4327 static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4328 asn1_ctx_t asn1_ctx;
4329 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4330 dissect_p22_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationList_PDU);
4332 static void dissect_CirculationMember_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4333 asn1_ctx_t asn1_ctx;
4334 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4335 dissect_p22_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationMember_PDU);
4337 static void dissect_CirculationListIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4338 asn1_ctx_t asn1_ctx;
4339 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4340 dissect_p22_CirculationListIndicator(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CirculationListIndicator_PDU);
4342 static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4343 asn1_ctx_t asn1_ctx;
4344 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4345 dissect_p22_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DistributionCodes_PDU);
4347 static void dissect_DistributionCode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4348 asn1_ctx_t asn1_ctx;
4349 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4350 dissect_p22_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DistributionCode_PDU);
4352 static void dissect_ExtendedSubject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4353 asn1_ctx_t asn1_ctx;
4354 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4355 dissect_p22_ExtendedSubject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ExtendedSubject_PDU);
4357 static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4358 asn1_ctx_t asn1_ctx;
4359 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4360 dissect_p22_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationCategories_PDU);
4362 static void dissect_InformationCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4363 asn1_ctx_t asn1_ctx;
4364 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4365 dissect_p22_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_InformationCategory_PDU);
4367 static void dissect_ManualHandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4368 asn1_ctx_t asn1_ctx;
4369 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4370 dissect_p22_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ManualHandlingInstructions_PDU);
4372 static void dissect_ManualHandlingInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4373 asn1_ctx_t asn1_ctx;
4374 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4375 dissect_p22_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ManualHandlingInstruction_PDU);
4377 static void dissect_OriginatorsReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4378 asn1_ctx_t asn1_ctx;
4379 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4380 dissect_p22_OriginatorsReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_OriginatorsReference_PDU);
4382 static void dissect_PrecedencePolicyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4383 asn1_ctx_t asn1_ctx;
4384 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4385 dissect_p22_PrecedencePolicyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_PrecedencePolicyIdentifier_PDU);
4387 static void dissect_Precedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4388 asn1_ctx_t asn1_ctx;
4389 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4390 dissect_p22_Precedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_Precedence_PDU);
4392 static void dissect_GeneralTextParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4393 asn1_ctx_t asn1_ctx;
4394 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4395 dissect_p22_GeneralTextParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_GeneralTextParameters_PDU);
4397 static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4398 asn1_ctx_t asn1_ctx;
4399 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4400 dissect_p22_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_GeneralTextData_PDU);
4402 static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4403 asn1_ctx_t asn1_ctx;
4404 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4405 dissect_p22_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_FileTransferParameters_PDU);
4407 static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4408 asn1_ctx_t asn1_ctx;
4409 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4410 dissect_p22_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_FileTransferData_PDU);
4412 static void dissect_VoiceParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4413 asn1_ctx_t asn1_ctx;
4414 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4415 dissect_p22_VoiceParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VoiceParameters_PDU);
4417 static void dissect_VoiceData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4418 asn1_ctx_t asn1_ctx;
4419 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4420 dissect_p22_VoiceData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_VoiceData_PDU);
4422 static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4423 asn1_ctx_t asn1_ctx;
4424 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4425 dissect_p22_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ForwardedContentParameters_PDU);
4427 static void dissect_IPMEntryType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4428 asn1_ctx_t asn1_ctx;
4429 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4430 dissect_p22_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMEntryType_PDU);
4432 static void dissect_IPMSynopsis_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4433 asn1_ctx_t asn1_ctx;
4434 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4435 dissect_p22_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMSynopsis_PDU);
4437 static void dissect_BodyPartDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4438 asn1_ctx_t asn1_ctx;
4439 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4440 dissect_p22_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartDescriptor_PDU);
4442 static void dissect_BodyPartSignatureVerification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4443 asn1_ctx_t asn1_ctx;
4444 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4445 dissect_p22_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartSignatureVerification_PDU);
4447 static void dissect_IPMLocation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4448 asn1_ctx_t asn1_ctx;
4449 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4450 dissect_p22_IPMLocation(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IPMLocation_PDU);
4452 static void dissect_DeliveredReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4453 asn1_ctx_t asn1_ctx;
4454 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4455 dissect_p22_DeliveredReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DeliveredReplyStatus_PDU);
4457 static void dissect_CorrelatedDeliveredReplies_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4458 asn1_ctx_t asn1_ctx;
4459 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4460 dissect_p22_CorrelatedDeliveredReplies(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CorrelatedDeliveredReplies_PDU);
4462 static void dissect_DeliveredIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4463 asn1_ctx_t asn1_ctx;
4464 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4465 dissect_p22_DeliveredIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_DeliveredIPNStatus_PDU);
4467 static void dissect_CorrelatedDeliveredIPNs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4468 asn1_ctx_t asn1_ctx;
4469 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4470 dissect_p22_CorrelatedDeliveredIPNs(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_CorrelatedDeliveredIPNs_PDU);
4472 static void dissect_SubmittedReplyStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4473 asn1_ctx_t asn1_ctx;
4474 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4475 dissect_p22_SubmittedReplyStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubmittedReplyStatus_PDU);
4477 static void dissect_SubmittedIPNStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4478 asn1_ctx_t asn1_ctx;
4479 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4480 dissect_p22_SubmittedIPNStatus(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_SubmittedIPNStatus_PDU);
4482 static void dissect_RecipientCategory_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4483 asn1_ctx_t asn1_ctx;
4484 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4485 dissect_p22_RecipientCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RecipientCategory_PDU);
4487 static void dissect_RecipientSecurityRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4488 asn1_ctx_t asn1_ctx;
4489 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4490 dissect_p22_RecipientSecurityRequest(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_RecipientSecurityRequest_PDU);
4492 static void dissect_IpnSecurityResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4493 asn1_ctx_t asn1_ctx;
4494 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4495 dissect_p22_IpnSecurityResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_IpnSecurityResponse_PDU);
4497 static void dissect_BodyPartTokens_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4498 asn1_ctx_t asn1_ctx;
4499 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4500 dissect_p22_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_BodyPartTokens_PDU);
4502 static void dissect_ForwardedContentToken_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
4503 asn1_ctx_t asn1_ctx;
4504 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4505 dissect_p22_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_p22_ForwardedContentToken_PDU);
4509 /*--- End of included file: packet-p22-fn.c ---*/
4510 #line 90 "../../asn1/p22/packet-p22-template.c"
4513 * Dissect P22 PDUs inside a PPDU.
4515 static void
4516 dissect_p22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4518 int offset = 0;
4519 proto_item *item=NULL;
4520 proto_tree *tree=NULL;
4521 asn1_ctx_t asn1_ctx;
4522 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4524 if(parent_tree){
4525 item = proto_tree_add_item(parent_tree, proto_p22, tvb, 0, -1, ENC_NA);
4526 tree = proto_item_add_subtree(item, ett_p22);
4529 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22");
4530 col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal");
4532 dissect_p22_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
4536 /*--- proto_register_p22 -------------------------------------------*/
4537 void proto_register_p22(void) {
4539 /* List of fields */
4540 static hf_register_info hf[] =
4543 /*--- Included file: packet-p22-hfarr.c ---*/
4544 #line 1 "../../asn1/p22/packet-p22-hfarr.c"
4545 { &hf_p22_InformationObject_PDU,
4546 { "InformationObject", "p22.InformationObject",
4547 FT_UINT32, BASE_DEC, VALS(p22_InformationObject_vals), 0,
4548 NULL, HFILL }},
4549 { &hf_p22_Heading_PDU,
4550 { "Heading", "p22.Heading_element",
4551 FT_NONE, BASE_NONE, NULL, 0,
4552 NULL, HFILL }},
4553 { &hf_p22_ORDescriptor_PDU,
4554 { "ORDescriptor", "p22.ORDescriptor_element",
4555 FT_NONE, BASE_NONE, NULL, 0,
4556 NULL, HFILL }},
4557 { &hf_p22_ThisIPMField_PDU,
4558 { "ThisIPMField", "p22.ThisIPMField_element",
4559 FT_NONE, BASE_NONE, NULL, 0,
4560 NULL, HFILL }},
4561 { &hf_p22_OriginatorField_PDU,
4562 { "OriginatorField", "p22.OriginatorField_element",
4563 FT_NONE, BASE_NONE, NULL, 0,
4564 NULL, HFILL }},
4565 { &hf_p22_AuthorizingUsersSubfield_PDU,
4566 { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield_element",
4567 FT_NONE, BASE_NONE, NULL, 0,
4568 NULL, HFILL }},
4569 { &hf_p22_PrimaryRecipientsSubfield_PDU,
4570 { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield_element",
4571 FT_NONE, BASE_NONE, NULL, 0,
4572 NULL, HFILL }},
4573 { &hf_p22_CopyRecipientsSubfield_PDU,
4574 { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield_element",
4575 FT_NONE, BASE_NONE, NULL, 0,
4576 NULL, HFILL }},
4577 { &hf_p22_BlindCopyRecipientsSubfield_PDU,
4578 { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield_element",
4579 FT_NONE, BASE_NONE, NULL, 0,
4580 NULL, HFILL }},
4581 { &hf_p22_RepliedToIPMField_PDU,
4582 { "RepliedToIPMField", "p22.RepliedToIPMField_element",
4583 FT_NONE, BASE_NONE, NULL, 0,
4584 NULL, HFILL }},
4585 { &hf_p22_ObsoletedIPMsSubfield_PDU,
4586 { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield_element",
4587 FT_NONE, BASE_NONE, NULL, 0,
4588 NULL, HFILL }},
4589 { &hf_p22_RelatedIPMsSubfield_PDU,
4590 { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield_element",
4591 FT_NONE, BASE_NONE, NULL, 0,
4592 NULL, HFILL }},
4593 { &hf_p22_SubjectField_PDU,
4594 { "SubjectField", "p22.SubjectField",
4595 FT_STRING, BASE_NONE, NULL, 0,
4596 NULL, HFILL }},
4597 { &hf_p22_ExpiryTimeField_PDU,
4598 { "ExpiryTimeField", "p22.ExpiryTimeField",
4599 FT_STRING, BASE_NONE, NULL, 0,
4600 NULL, HFILL }},
4601 { &hf_p22_ReplyTimeField_PDU,
4602 { "ReplyTimeField", "p22.ReplyTimeField",
4603 FT_STRING, BASE_NONE, NULL, 0,
4604 NULL, HFILL }},
4605 { &hf_p22_ReplyRecipientsSubfield_PDU,
4606 { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield_element",
4607 FT_NONE, BASE_NONE, NULL, 0,
4608 NULL, HFILL }},
4609 { &hf_p22_ImportanceField_PDU,
4610 { "ImportanceField", "p22.ImportanceField",
4611 FT_UINT32, BASE_DEC, VALS(p22_ImportanceField_vals), 0,
4612 NULL, HFILL }},
4613 { &hf_p22_SensitivityField_PDU,
4614 { "SensitivityField", "p22.SensitivityField",
4615 FT_UINT32, BASE_DEC, VALS(p22_SensitivityField_vals), 0,
4616 NULL, HFILL }},
4617 { &hf_p22_AutoForwardedField_PDU,
4618 { "AutoForwardedField", "p22.AutoForwardedField",
4619 FT_BOOLEAN, BASE_NONE, NULL, 0,
4620 NULL, HFILL }},
4621 { &hf_p22_Body_PDU,
4622 { "Body", "p22.Body",
4623 FT_UINT32, BASE_DEC, NULL, 0,
4624 NULL, HFILL }},
4625 { &hf_p22_IA5TextParameters_PDU,
4626 { "IA5TextParameters", "p22.IA5TextParameters_element",
4627 FT_NONE, BASE_NONE, NULL, 0,
4628 NULL, HFILL }},
4629 { &hf_p22_IA5TextData_PDU,
4630 { "IA5TextData", "p22.IA5TextData",
4631 FT_STRING, BASE_NONE, NULL, 0,
4632 NULL, HFILL }},
4633 { &hf_p22_G3FacsimileParameters_PDU,
4634 { "G3FacsimileParameters", "p22.G3FacsimileParameters_element",
4635 FT_NONE, BASE_NONE, NULL, 0,
4636 NULL, HFILL }},
4637 { &hf_p22_G3FacsimileData_PDU,
4638 { "G3FacsimileData", "p22.G3FacsimileData",
4639 FT_UINT32, BASE_DEC, NULL, 0,
4640 NULL, HFILL }},
4641 { &hf_p22_G4Class1BodyPart_PDU,
4642 { "G4Class1BodyPart", "p22.G4Class1BodyPart",
4643 FT_UINT32, BASE_DEC, NULL, 0,
4644 NULL, HFILL }},
4645 { &hf_p22_MixedModeBodyPart_PDU,
4646 { "MixedModeBodyPart", "p22.MixedModeBodyPart",
4647 FT_UINT32, BASE_DEC, NULL, 0,
4648 NULL, HFILL }},
4649 { &hf_p22_TeletexParameters_PDU,
4650 { "TeletexParameters", "p22.TeletexParameters_element",
4651 FT_NONE, BASE_NONE, NULL, 0,
4652 NULL, HFILL }},
4653 { &hf_p22_TeletexData_PDU,
4654 { "TeletexData", "p22.TeletexData",
4655 FT_UINT32, BASE_DEC, NULL, 0,
4656 NULL, HFILL }},
4657 { &hf_p22_VideotexParameters_PDU,
4658 { "VideotexParameters", "p22.VideotexParameters_element",
4659 FT_NONE, BASE_NONE, NULL, 0,
4660 NULL, HFILL }},
4661 { &hf_p22_VideotexData_PDU,
4662 { "VideotexData", "p22.VideotexData",
4663 FT_STRING, BASE_NONE, NULL, 0,
4664 NULL, HFILL }},
4665 { &hf_p22_EncryptedParameters_PDU,
4666 { "EncryptedParameters", "p22.EncryptedParameters_element",
4667 FT_NONE, BASE_NONE, NULL, 0,
4668 NULL, HFILL }},
4669 { &hf_p22_EncryptedData_PDU,
4670 { "EncryptedData", "p22.EncryptedData",
4671 FT_BYTES, BASE_NONE, NULL, 0,
4672 NULL, HFILL }},
4673 { &hf_p22_MessageParameters_PDU,
4674 { "MessageParameters", "p22.MessageParameters_element",
4675 FT_NONE, BASE_NONE, NULL, 0,
4676 NULL, HFILL }},
4677 { &hf_p22_MessageData_PDU,
4678 { "MessageData", "p22.MessageData_element",
4679 FT_NONE, BASE_NONE, NULL, 0,
4680 NULL, HFILL }},
4681 { &hf_p22_BilaterallyDefinedBodyPart_PDU,
4682 { "BilaterallyDefinedBodyPart", "p22.BilaterallyDefinedBodyPart",
4683 FT_BYTES, BASE_NONE, NULL, 0,
4684 NULL, HFILL }},
4685 { &hf_p22_IPN_PDU,
4686 { "IPN", "p22.IPN_element",
4687 FT_NONE, BASE_NONE, NULL, 0,
4688 NULL, HFILL }},
4689 { &hf_p22_AbsenceAdvice_PDU,
4690 { "AbsenceAdvice", "p22.AbsenceAdvice_element",
4691 FT_NONE, BASE_NONE, NULL, 0,
4692 NULL, HFILL }},
4693 { &hf_p22_ChangeOfAddressAdvice_PDU,
4694 { "ChangeOfAddressAdvice", "p22.ChangeOfAddressAdvice_element",
4695 FT_NONE, BASE_NONE, NULL, 0,
4696 NULL, HFILL }},
4697 { &hf_p22_IPMAssemblyInstructions_PDU,
4698 { "IPMAssemblyInstructions", "p22.IPMAssemblyInstructions_element",
4699 FT_NONE, BASE_NONE, NULL, 0,
4700 NULL, HFILL }},
4701 { &hf_p22_IncompleteCopy_PDU,
4702 { "IncompleteCopy", "p22.IncompleteCopy_element",
4703 FT_NONE, BASE_NONE, NULL, 0,
4704 NULL, HFILL }},
4705 { &hf_p22_Languages_PDU,
4706 { "Languages", "p22.Languages",
4707 FT_UINT32, BASE_DEC, NULL, 0,
4708 NULL, HFILL }},
4709 { &hf_p22_Language_PDU,
4710 { "Language", "p22.Language",
4711 FT_STRING, BASE_NONE, NULL, 0,
4712 NULL, HFILL }},
4713 { &hf_p22_AutoSubmitted_PDU,
4714 { "AutoSubmitted", "p22.AutoSubmitted",
4715 FT_UINT32, BASE_DEC, VALS(p22_AutoSubmitted_vals), 0,
4716 NULL, HFILL }},
4717 { &hf_p22_BodyPartSignatures_PDU,
4718 { "BodyPartSignatures", "p22.BodyPartSignatures",
4719 FT_UINT32, BASE_DEC, NULL, 0,
4720 NULL, HFILL }},
4721 { &hf_p22_IPMSecurityLabel_PDU,
4722 { "IPMSecurityLabel", "p22.IPMSecurityLabel_element",
4723 FT_NONE, BASE_NONE, NULL, 0,
4724 NULL, HFILL }},
4725 { &hf_p22_BodyPartSecurityLabel_PDU,
4726 { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel",
4727 FT_UINT32, BASE_DEC, VALS(p22_BodyPartSecurityLabel_vals), 0,
4728 NULL, HFILL }},
4729 { &hf_p22_AuthorizationTime_PDU,
4730 { "AuthorizationTime", "p22.AuthorizationTime",
4731 FT_STRING, BASE_NONE, NULL, 0,
4732 NULL, HFILL }},
4733 { &hf_p22_CirculationList_PDU,
4734 { "CirculationList", "p22.CirculationList",
4735 FT_UINT32, BASE_DEC, NULL, 0,
4736 NULL, HFILL }},
4737 { &hf_p22_CirculationMember_PDU,
4738 { "CirculationMember", "p22.CirculationMember_element",
4739 FT_NONE, BASE_NONE, NULL, 0,
4740 NULL, HFILL }},
4741 { &hf_p22_CirculationListIndicator_PDU,
4742 { "CirculationListIndicator", "p22.CirculationListIndicator_element",
4743 FT_NONE, BASE_NONE, NULL, 0,
4744 NULL, HFILL }},
4745 { &hf_p22_DistributionCodes_PDU,
4746 { "DistributionCodes", "p22.DistributionCodes",
4747 FT_UINT32, BASE_DEC, NULL, 0,
4748 NULL, HFILL }},
4749 { &hf_p22_DistributionCode_PDU,
4750 { "DistributionCode", "p22.DistributionCode_element",
4751 FT_NONE, BASE_NONE, NULL, 0,
4752 NULL, HFILL }},
4753 { &hf_p22_ExtendedSubject_PDU,
4754 { "ExtendedSubject", "p22.ExtendedSubject_element",
4755 FT_NONE, BASE_NONE, NULL, 0,
4756 NULL, HFILL }},
4757 { &hf_p22_InformationCategories_PDU,
4758 { "InformationCategories", "p22.InformationCategories",
4759 FT_UINT32, BASE_DEC, NULL, 0,
4760 NULL, HFILL }},
4761 { &hf_p22_InformationCategory_PDU,
4762 { "InformationCategory", "p22.InformationCategory_element",
4763 FT_NONE, BASE_NONE, NULL, 0,
4764 NULL, HFILL }},
4765 { &hf_p22_ManualHandlingInstructions_PDU,
4766 { "ManualHandlingInstructions", "p22.ManualHandlingInstructions",
4767 FT_UINT32, BASE_DEC, NULL, 0,
4768 NULL, HFILL }},
4769 { &hf_p22_ManualHandlingInstruction_PDU,
4770 { "ManualHandlingInstruction", "p22.ManualHandlingInstruction_element",
4771 FT_NONE, BASE_NONE, NULL, 0,
4772 NULL, HFILL }},
4773 { &hf_p22_OriginatorsReference_PDU,
4774 { "OriginatorsReference", "p22.OriginatorsReference_element",
4775 FT_NONE, BASE_NONE, NULL, 0,
4776 NULL, HFILL }},
4777 { &hf_p22_PrecedencePolicyIdentifier_PDU,
4778 { "PrecedencePolicyIdentifier", "p22.PrecedencePolicyIdentifier",
4779 FT_OID, BASE_NONE, NULL, 0,
4780 NULL, HFILL }},
4781 { &hf_p22_Precedence_PDU,
4782 { "Precedence", "p22.Precedence",
4783 FT_UINT32, BASE_DEC, NULL, 0,
4784 NULL, HFILL }},
4785 { &hf_p22_GeneralTextParameters_PDU,
4786 { "GeneralTextParameters", "p22.GeneralTextParameters",
4787 FT_UINT32, BASE_DEC, NULL, 0,
4788 NULL, HFILL }},
4789 { &hf_p22_GeneralTextData_PDU,
4790 { "GeneralTextData", "p22.GeneralTextData",
4791 FT_STRING, BASE_NONE, NULL, 0,
4792 NULL, HFILL }},
4793 { &hf_p22_FileTransferParameters_PDU,
4794 { "FileTransferParameters", "p22.FileTransferParameters_element",
4795 FT_NONE, BASE_NONE, NULL, 0,
4796 NULL, HFILL }},
4797 { &hf_p22_FileTransferData_PDU,
4798 { "FileTransferData", "p22.FileTransferData",
4799 FT_UINT32, BASE_DEC, NULL, 0,
4800 NULL, HFILL }},
4801 { &hf_p22_VoiceParameters_PDU,
4802 { "VoiceParameters", "p22.VoiceParameters_element",
4803 FT_NONE, BASE_NONE, NULL, 0,
4804 NULL, HFILL }},
4805 { &hf_p22_VoiceData_PDU,
4806 { "VoiceData", "p22.VoiceData",
4807 FT_BYTES, BASE_NONE, NULL, 0,
4808 NULL, HFILL }},
4809 { &hf_p22_ForwardedContentParameters_PDU,
4810 { "ForwardedContentParameters", "p22.ForwardedContentParameters_element",
4811 FT_NONE, BASE_NONE, NULL, 0,
4812 NULL, HFILL }},
4813 { &hf_p22_IPMEntryType_PDU,
4814 { "IPMEntryType", "p22.IPMEntryType",
4815 FT_UINT32, BASE_DEC, VALS(p22_IPMEntryType_vals), 0,
4816 NULL, HFILL }},
4817 { &hf_p22_IPMSynopsis_PDU,
4818 { "IPMSynopsis", "p22.IPMSynopsis",
4819 FT_UINT32, BASE_DEC, NULL, 0,
4820 NULL, HFILL }},
4821 { &hf_p22_BodyPartDescriptor_PDU,
4822 { "BodyPartDescriptor", "p22.BodyPartDescriptor_element",
4823 FT_NONE, BASE_NONE, NULL, 0,
4824 NULL, HFILL }},
4825 { &hf_p22_BodyPartSignatureVerification_PDU,
4826 { "BodyPartSignatureVerification", "p22.BodyPartSignatureVerification",
4827 FT_UINT32, BASE_DEC, NULL, 0,
4828 NULL, HFILL }},
4829 { &hf_p22_IPMLocation_PDU,
4830 { "IPMLocation", "p22.IPMLocation",
4831 FT_UINT32, BASE_DEC, VALS(p22_IPMLocation_vals), 0,
4832 NULL, HFILL }},
4833 { &hf_p22_DeliveredReplyStatus_PDU,
4834 { "DeliveredReplyStatus", "p22.DeliveredReplyStatus",
4835 FT_INT32, BASE_DEC, VALS(p22_DeliveredReplyStatus_vals), 0,
4836 NULL, HFILL }},
4837 { &hf_p22_CorrelatedDeliveredReplies_PDU,
4838 { "CorrelatedDeliveredReplies", "p22.CorrelatedDeliveredReplies",
4839 FT_UINT32, BASE_DEC, VALS(p22_CorrelatedDeliveredReplies_vals), 0,
4840 NULL, HFILL }},
4841 { &hf_p22_DeliveredIPNStatus_PDU,
4842 { "DeliveredIPNStatus", "p22.DeliveredIPNStatus",
4843 FT_INT32, BASE_DEC, VALS(p22_DeliveredIPNStatus_vals), 0,
4844 NULL, HFILL }},
4845 { &hf_p22_CorrelatedDeliveredIPNs_PDU,
4846 { "CorrelatedDeliveredIPNs", "p22.CorrelatedDeliveredIPNs",
4847 FT_UINT32, BASE_DEC, VALS(p22_CorrelatedDeliveredIPNs_vals), 0,
4848 NULL, HFILL }},
4849 { &hf_p22_SubmittedReplyStatus_PDU,
4850 { "SubmittedReplyStatus", "p22.SubmittedReplyStatus",
4851 FT_INT32, BASE_DEC, VALS(p22_SubmittedReplyStatus_vals), 0,
4852 NULL, HFILL }},
4853 { &hf_p22_SubmittedIPNStatus_PDU,
4854 { "SubmittedIPNStatus", "p22.SubmittedIPNStatus",
4855 FT_INT32, BASE_DEC, VALS(p22_SubmittedIPNStatus_vals), 0,
4856 NULL, HFILL }},
4857 { &hf_p22_RecipientCategory_PDU,
4858 { "RecipientCategory", "p22.RecipientCategory",
4859 FT_INT32, BASE_DEC, VALS(p22_RecipientCategory_vals), 0,
4860 NULL, HFILL }},
4861 { &hf_p22_RecipientSecurityRequest_PDU,
4862 { "RecipientSecurityRequest", "p22.RecipientSecurityRequest",
4863 FT_BYTES, BASE_NONE, NULL, 0,
4864 NULL, HFILL }},
4865 { &hf_p22_IpnSecurityResponse_PDU,
4866 { "IpnSecurityResponse", "p22.IpnSecurityResponse_element",
4867 FT_NONE, BASE_NONE, NULL, 0,
4868 NULL, HFILL }},
4869 { &hf_p22_BodyPartTokens_PDU,
4870 { "BodyPartTokens", "p22.BodyPartTokens",
4871 FT_UINT32, BASE_DEC, NULL, 0,
4872 NULL, HFILL }},
4873 { &hf_p22_ForwardedContentToken_PDU,
4874 { "ForwardedContentToken", "p22.ForwardedContentToken",
4875 FT_UINT32, BASE_DEC, NULL, 0,
4876 NULL, HFILL }},
4877 { &hf_p22_ipm,
4878 { "ipm", "p22.ipm_element",
4879 FT_NONE, BASE_NONE, NULL, 0,
4880 NULL, HFILL }},
4881 { &hf_p22_ipn,
4882 { "ipn", "p22.ipn_element",
4883 FT_NONE, BASE_NONE, NULL, 0,
4884 NULL, HFILL }},
4885 { &hf_p22_heading,
4886 { "heading", "p22.heading_element",
4887 FT_NONE, BASE_NONE, NULL, 0,
4888 NULL, HFILL }},
4889 { &hf_p22_body,
4890 { "body", "p22.body",
4891 FT_UINT32, BASE_DEC, NULL, 0,
4892 NULL, HFILL }},
4893 { &hf_p22_type,
4894 { "type", "p22.type",
4895 FT_OID, BASE_NONE, NULL, 0,
4896 NULL, HFILL }},
4897 { &hf_p22_value,
4898 { "value", "p22.value_element",
4899 FT_NONE, BASE_NONE, NULL, 0,
4900 NULL, HFILL }},
4901 { &hf_p22_this_IPM,
4902 { "this-IPM", "p22.this_IPM_element",
4903 FT_NONE, BASE_NONE, NULL, 0,
4904 "ThisIPMField", HFILL }},
4905 { &hf_p22_originator,
4906 { "originator", "p22.originator_element",
4907 FT_NONE, BASE_NONE, NULL, 0,
4908 "OriginatorField", HFILL }},
4909 { &hf_p22_authorizing_users,
4910 { "authorizing-users", "p22.authorizing_users",
4911 FT_UINT32, BASE_DEC, NULL, 0,
4912 "AuthorizingUsersField", HFILL }},
4913 { &hf_p22_primary_recipients,
4914 { "primary-recipients", "p22.primary_recipients",
4915 FT_UINT32, BASE_DEC, NULL, 0,
4916 "PrimaryRecipientsField", HFILL }},
4917 { &hf_p22_copy_recipients,
4918 { "copy-recipients", "p22.copy_recipients",
4919 FT_UINT32, BASE_DEC, NULL, 0,
4920 "CopyRecipientsField", HFILL }},
4921 { &hf_p22_blind_copy_recipients,
4922 { "blind-copy-recipients", "p22.blind_copy_recipients",
4923 FT_UINT32, BASE_DEC, NULL, 0,
4924 "BlindCopyRecipientsField", HFILL }},
4925 { &hf_p22_replied_to_IPM,
4926 { "replied-to-IPM", "p22.replied_to_IPM_element",
4927 FT_NONE, BASE_NONE, NULL, 0,
4928 "RepliedToIPMField", HFILL }},
4929 { &hf_p22_obsoleted_IPMs,
4930 { "obsoleted-IPMs", "p22.obsoleted_IPMs",
4931 FT_UINT32, BASE_DEC, NULL, 0,
4932 "ObsoletedIPMsField", HFILL }},
4933 { &hf_p22_related_IPMs,
4934 { "related-IPMs", "p22.related_IPMs",
4935 FT_UINT32, BASE_DEC, NULL, 0,
4936 "RelatedIPMsField", HFILL }},
4937 { &hf_p22_subject,
4938 { "subject", "p22.subject",
4939 FT_STRING, BASE_NONE, NULL, 0,
4940 "SubjectField", HFILL }},
4941 { &hf_p22_expiry_time,
4942 { "expiry-time", "p22.expiry_time",
4943 FT_STRING, BASE_NONE, NULL, 0,
4944 "ExpiryTimeField", HFILL }},
4945 { &hf_p22_reply_time,
4946 { "reply-time", "p22.reply_time",
4947 FT_STRING, BASE_NONE, NULL, 0,
4948 "ReplyTimeField", HFILL }},
4949 { &hf_p22_reply_recipients,
4950 { "reply-recipients", "p22.reply_recipients",
4951 FT_UINT32, BASE_DEC, NULL, 0,
4952 "ReplyRecipientsField", HFILL }},
4953 { &hf_p22_importance,
4954 { "importance", "p22.importance",
4955 FT_UINT32, BASE_DEC, VALS(p22_ImportanceField_vals), 0,
4956 "ImportanceField", HFILL }},
4957 { &hf_p22_sensitivity,
4958 { "sensitivity", "p22.sensitivity",
4959 FT_UINT32, BASE_DEC, VALS(p22_SensitivityField_vals), 0,
4960 "SensitivityField", HFILL }},
4961 { &hf_p22_auto_forwarded,
4962 { "auto-forwarded", "p22.auto_forwarded",
4963 FT_BOOLEAN, BASE_NONE, NULL, 0,
4964 "AutoForwardedField", HFILL }},
4965 { &hf_p22_extensions,
4966 { "extensions", "p22.extensions",
4967 FT_UINT32, BASE_DEC, NULL, 0,
4968 "ExtensionsField", HFILL }},
4969 { &hf_p22_user,
4970 { "user", "p22.user_element",
4971 FT_NONE, BASE_NONE, NULL, 0,
4972 "ORName", HFILL }},
4973 { &hf_p22_user_relative_identifier,
4974 { "user-relative-identifier", "p22.user_relative_identifier",
4975 FT_STRING, BASE_NONE, NULL, 0,
4976 "LocalIPMIdentifier", HFILL }},
4977 { &hf_p22_recipient,
4978 { "recipient", "p22.recipient_element",
4979 FT_NONE, BASE_NONE, NULL, 0,
4980 "ORDescriptor", HFILL }},
4981 { &hf_p22_notification_requests,
4982 { "notification-requests", "p22.notification_requests",
4983 FT_BYTES, BASE_NONE, NULL, 0,
4984 "NotificationRequests", HFILL }},
4985 { &hf_p22_reply_requested,
4986 { "reply-requested", "p22.reply_requested",
4987 FT_BOOLEAN, BASE_NONE, NULL, 0,
4988 "BOOLEAN", HFILL }},
4989 { &hf_p22_recipient_extensions,
4990 { "recipient-extensions", "p22.recipient_extensions",
4991 FT_UINT32, BASE_DEC, NULL, 0,
4992 "RecipientExtensionsField", HFILL }},
4993 { &hf_p22_formal_name,
4994 { "formal-name", "p22.formal_name_element",
4995 FT_NONE, BASE_NONE, NULL, 0,
4996 "ORName", HFILL }},
4997 { &hf_p22_free_form_name,
4998 { "free-form-name", "p22.free_form_name",
4999 FT_STRING, BASE_NONE, NULL, 0,
5000 "FreeFormName", HFILL }},
5001 { &hf_p22_telephone_number,
5002 { "telephone-number", "p22.telephone_number",
5003 FT_STRING, BASE_NONE, NULL, 0,
5004 "TelephoneNumber", HFILL }},
5005 { &hf_p22_RecipientExtensionsField_item,
5006 { "IPMSExtension", "p22.IPMSExtension_element",
5007 FT_NONE, BASE_NONE, NULL, 0,
5008 NULL, HFILL }},
5009 { &hf_p22_AuthorizingUsersField_item,
5010 { "AuthorizingUsersSubfield", "p22.AuthorizingUsersSubfield_element",
5011 FT_NONE, BASE_NONE, NULL, 0,
5012 NULL, HFILL }},
5013 { &hf_p22_PrimaryRecipientsField_item,
5014 { "PrimaryRecipientsSubfield", "p22.PrimaryRecipientsSubfield_element",
5015 FT_NONE, BASE_NONE, NULL, 0,
5016 NULL, HFILL }},
5017 { &hf_p22_CopyRecipientsField_item,
5018 { "CopyRecipientsSubfield", "p22.CopyRecipientsSubfield_element",
5019 FT_NONE, BASE_NONE, NULL, 0,
5020 NULL, HFILL }},
5021 { &hf_p22_BlindCopyRecipientsField_item,
5022 { "BlindCopyRecipientsSubfield", "p22.BlindCopyRecipientsSubfield_element",
5023 FT_NONE, BASE_NONE, NULL, 0,
5024 NULL, HFILL }},
5025 { &hf_p22_ObsoletedIPMsField_item,
5026 { "ObsoletedIPMsSubfield", "p22.ObsoletedIPMsSubfield_element",
5027 FT_NONE, BASE_NONE, NULL, 0,
5028 NULL, HFILL }},
5029 { &hf_p22_RelatedIPMsField_item,
5030 { "RelatedIPMsSubfield", "p22.RelatedIPMsSubfield_element",
5031 FT_NONE, BASE_NONE, NULL, 0,
5032 NULL, HFILL }},
5033 { &hf_p22_ReplyRecipientsField_item,
5034 { "ReplyRecipientsSubfield", "p22.ReplyRecipientsSubfield_element",
5035 FT_NONE, BASE_NONE, NULL, 0,
5036 NULL, HFILL }},
5037 { &hf_p22_ExtensionsField_item,
5038 { "IPMSExtension", "p22.IPMSExtension_element",
5039 FT_NONE, BASE_NONE, NULL, 0,
5040 NULL, HFILL }},
5041 { &hf_p22_Body_item,
5042 { "BodyPart", "p22.BodyPart",
5043 FT_UINT32, BASE_DEC, VALS(p22_BodyPart_vals), 0,
5044 NULL, HFILL }},
5045 { &hf_p22_basic,
5046 { "basic", "p22.basic",
5047 FT_UINT32, BASE_DEC, VALS(p22_T_basic_vals), 0,
5048 NULL, HFILL }},
5049 { &hf_p22_ia5_text,
5050 { "ia5-text", "p22.ia5_text_element",
5051 FT_NONE, BASE_NONE, NULL, 0,
5052 "IA5TextBodyPart", HFILL }},
5053 { &hf_p22_g3_facsimile,
5054 { "g3-facsimile", "p22.g3_facsimile_element",
5055 FT_NONE, BASE_NONE, NULL, 0,
5056 "G3FacsimileBodyPart", HFILL }},
5057 { &hf_p22_g4_class1,
5058 { "g4-class1", "p22.g4_class1",
5059 FT_UINT32, BASE_DEC, NULL, 0,
5060 "G4Class1BodyPart", HFILL }},
5061 { &hf_p22_teletex,
5062 { "teletex", "p22.teletex_element",
5063 FT_NONE, BASE_NONE, NULL, 0,
5064 "TeletexBodyPart", HFILL }},
5065 { &hf_p22_videotex,
5066 { "videotex", "p22.videotex_element",
5067 FT_NONE, BASE_NONE, NULL, 0,
5068 "VideotexBodyPart", HFILL }},
5069 { &hf_p22_encrypted_bp,
5070 { "encrypted", "p22.encrypted_element",
5071 FT_NONE, BASE_NONE, NULL, 0,
5072 "EncryptedBodyPart", HFILL }},
5073 { &hf_p22_message,
5074 { "message", "p22.message_element",
5075 FT_NONE, BASE_NONE, NULL, 0,
5076 "MessageBodyPart", HFILL }},
5077 { &hf_p22_mixed_mode,
5078 { "mixed-mode", "p22.mixed_mode",
5079 FT_UINT32, BASE_DEC, NULL, 0,
5080 "MixedModeBodyPart", HFILL }},
5081 { &hf_p22_bilaterally_defined,
5082 { "bilaterally-defined", "p22.bilaterally_defined",
5083 FT_BYTES, BASE_NONE, NULL, 0,
5084 "BilaterallyDefinedBodyPart", HFILL }},
5085 { &hf_p22_nationally_defined,
5086 { "nationally-defined", "p22.nationally_defined_element",
5087 FT_NONE, BASE_NONE, NULL, 0,
5088 "NationallyDefinedBodyPart", HFILL }},
5089 { &hf_p22_extended,
5090 { "extended", "p22.extended_element",
5091 FT_NONE, BASE_NONE, NULL, 0,
5092 "ExtendedBodyPart", HFILL }},
5093 { &hf_p22_extended_parameters,
5094 { "parameters", "p22.parameters_element",
5095 FT_NONE, BASE_NONE, NULL, 0,
5096 "INSTANCE_OF", HFILL }},
5097 { &hf_p22_extended_data,
5098 { "data", "p22.data_element",
5099 FT_NONE, BASE_NONE, NULL, 0,
5100 "INSTANCE_OF", HFILL }},
5101 { &hf_p22_ia5text_parameters,
5102 { "parameters", "p22.parameters_element",
5103 FT_NONE, BASE_NONE, NULL, 0,
5104 "IA5TextParameters", HFILL }},
5105 { &hf_p22_ia5text_data,
5106 { "data", "p22.data",
5107 FT_STRING, BASE_NONE, NULL, 0,
5108 "IA5TextData", HFILL }},
5109 { &hf_p22_repertoire,
5110 { "repertoire", "p22.repertoire",
5111 FT_UINT32, BASE_DEC, VALS(p22_Repertoire_vals), 0,
5112 NULL, HFILL }},
5113 { &hf_p22_g3facsimile_parameters,
5114 { "parameters", "p22.parameters_element",
5115 FT_NONE, BASE_NONE, NULL, 0,
5116 "G3FacsimileParameters", HFILL }},
5117 { &hf_p22_g3facsimile_data,
5118 { "data", "p22.data",
5119 FT_UINT32, BASE_DEC, NULL, 0,
5120 "G3FacsimileData", HFILL }},
5121 { &hf_p22_number_of_pages,
5122 { "number-of-pages", "p22.number_of_pages",
5123 FT_INT32, BASE_DEC, NULL, 0,
5124 "INTEGER", HFILL }},
5125 { &hf_p22_g3facsimile_non_basic_parameters,
5126 { "non-basic-parameters", "p22.non_basic_parameters",
5127 FT_BYTES, BASE_NONE, NULL, 0,
5128 "G3FacsimileNonBasicParameters", HFILL }},
5129 { &hf_p22_G3FacsimileData_item,
5130 { "G3FacsimileData item", "p22.G3FacsimileData_item",
5131 FT_BYTES, BASE_NONE, NULL, 0,
5132 "BIT_STRING", HFILL }},
5133 { &hf_p22_G4Class1BodyPart_item,
5134 { "Interchange-Data-Element", "p22.Interchange_Data_Element_element",
5135 FT_NONE, BASE_NONE, NULL, 0,
5136 NULL, HFILL }},
5137 { &hf_p22_MixedModeBodyPart_item,
5138 { "Interchange-Data-Element", "p22.Interchange_Data_Element_element",
5139 FT_NONE, BASE_NONE, NULL, 0,
5140 NULL, HFILL }},
5141 { &hf_p22_teletex_parameters,
5142 { "parameters", "p22.parameters_element",
5143 FT_NONE, BASE_NONE, NULL, 0,
5144 "TeletexParameters", HFILL }},
5145 { &hf_p22_teletex_data,
5146 { "data", "p22.data",
5147 FT_UINT32, BASE_DEC, NULL, 0,
5148 "TeletexData", HFILL }},
5149 { &hf_p22_telex_compatible,
5150 { "telex-compatible", "p22.telex_compatible",
5151 FT_BOOLEAN, BASE_NONE, NULL, 0,
5152 "BOOLEAN", HFILL }},
5153 { &hf_p22_teletex_non_basic_parameters,
5154 { "non-basic-parameters", "p22.non_basic_parameters_element",
5155 FT_NONE, BASE_NONE, NULL, 0,
5156 "TeletexNonBasicParameters", HFILL }},
5157 { &hf_p22_TeletexData_item,
5158 { "TeletexData item", "p22.TeletexData_item",
5159 FT_STRING, BASE_NONE, NULL, 0,
5160 "TeletexString", HFILL }},
5161 { &hf_p22_videotex_parameters,
5162 { "parameters", "p22.parameters_element",
5163 FT_NONE, BASE_NONE, NULL, 0,
5164 "VideotexParameters", HFILL }},
5165 { &hf_p22_videotex_data,
5166 { "data", "p22.data",
5167 FT_STRING, BASE_NONE, NULL, 0,
5168 "VideotexData", HFILL }},
5169 { &hf_p22_syntax,
5170 { "syntax", "p22.syntax",
5171 FT_INT32, BASE_DEC, VALS(p22_VideotexSyntax_vals), 0,
5172 "VideotexSyntax", HFILL }},
5173 { &hf_p22_encrypted_parameters,
5174 { "parameters", "p22.parameters_element",
5175 FT_NONE, BASE_NONE, NULL, 0,
5176 "EncryptedParameters", HFILL }},
5177 { &hf_p22_encrypted_data,
5178 { "data", "p22.data",
5179 FT_BYTES, BASE_NONE, NULL, 0,
5180 "EncryptedData", HFILL }},
5181 { &hf_p22_algorithm_identifier,
5182 { "algorithm-identifier", "p22.algorithm_identifier_element",
5183 FT_NONE, BASE_NONE, NULL, 0,
5184 "AlgorithmIdentifier", HFILL }},
5185 { &hf_p22_originator_certificates,
5186 { "originator-certificates", "p22.originator_certificates",
5187 FT_UINT32, BASE_DEC, NULL, 0,
5188 "ExtendedCertificates", HFILL }},
5189 { &hf_p22_message_parameters,
5190 { "parameters", "p22.parameters_element",
5191 FT_NONE, BASE_NONE, NULL, 0,
5192 "MessageParameters", HFILL }},
5193 { &hf_p22_message_data,
5194 { "data", "p22.data_element",
5195 FT_NONE, BASE_NONE, NULL, 0,
5196 "MessageData", HFILL }},
5197 { &hf_p22_delivery_time,
5198 { "delivery-time", "p22.delivery_time",
5199 FT_STRING, BASE_NONE, NULL, 0,
5200 "MessageDeliveryTime", HFILL }},
5201 { &hf_p22_delivery_envelope,
5202 { "delivery-envelope", "p22.delivery_envelope_element",
5203 FT_NONE, BASE_NONE, NULL, 0,
5204 "OtherMessageDeliveryFields", HFILL }},
5205 { &hf_p22_subject_ipm,
5206 { "subject-ipm", "p22.subject_ipm_element",
5207 FT_NONE, BASE_NONE, NULL, 0,
5208 "SubjectIPMField", HFILL }},
5209 { &hf_p22_ipn_originator,
5210 { "ipn-originator", "p22.ipn_originator_element",
5211 FT_NONE, BASE_NONE, NULL, 0,
5212 "IPNOriginatorField", HFILL }},
5213 { &hf_p22_ipm_intended_recipient,
5214 { "ipm-intended-recipient", "p22.ipm_intended_recipient_element",
5215 FT_NONE, BASE_NONE, NULL, 0,
5216 "IPMIntendedRecipientField", HFILL }},
5217 { &hf_p22_conversion_eits,
5218 { "conversion-eits", "p22.conversion_eits_element",
5219 FT_NONE, BASE_NONE, NULL, 0,
5220 "ConversionEITsField", HFILL }},
5221 { &hf_p22_notification_extensions,
5222 { "notification-extensions", "p22.notification_extensions",
5223 FT_UINT32, BASE_DEC, NULL, 0,
5224 "NotificationExtensionsField", HFILL }},
5225 { &hf_p22_non_receipt_reason,
5226 { "non-receipt-reason", "p22.non_receipt_reason",
5227 FT_UINT32, BASE_DEC, VALS(p22_NonReceiptReasonField_vals), 0,
5228 "NonReceiptReasonField", HFILL }},
5229 { &hf_p22_discard_reason,
5230 { "discard-reason", "p22.discard_reason",
5231 FT_UINT32, BASE_DEC, VALS(p22_DiscardReasonField_vals), 0,
5232 "DiscardReasonField", HFILL }},
5233 { &hf_p22_auto_forward_comment,
5234 { "auto-forward-comment", "p22.auto_forward_comment",
5235 FT_STRING, BASE_NONE, NULL, 0,
5236 "AutoForwardCommentField", HFILL }},
5237 { &hf_p22_returned_ipm,
5238 { "returned-ipm", "p22.returned_ipm_element",
5239 FT_NONE, BASE_NONE, NULL, 0,
5240 "ReturnedIPMField", HFILL }},
5241 { &hf_p22_nrn_extensions,
5242 { "nrn-extensions", "p22.nrn_extensions",
5243 FT_UINT32, BASE_DEC, NULL, 0,
5244 "NRNExtensionsField", HFILL }},
5245 { &hf_p22_receipt_time,
5246 { "receipt-time", "p22.receipt_time",
5247 FT_STRING, BASE_NONE, NULL, 0,
5248 "ReceiptTimeField", HFILL }},
5249 { &hf_p22_acknowledgment_mode,
5250 { "acknowledgment-mode", "p22.acknowledgment_mode",
5251 FT_UINT32, BASE_DEC, VALS(p22_AcknowledgmentModeField_vals), 0,
5252 "AcknowledgmentModeField", HFILL }},
5253 { &hf_p22_suppl_receipt_info,
5254 { "suppl-receipt-info", "p22.suppl_receipt_info",
5255 FT_STRING, BASE_NONE, NULL, 0,
5256 "SupplReceiptInfoField", HFILL }},
5257 { &hf_p22_rn_extensions,
5258 { "rn-extensions", "p22.rn_extensions",
5259 FT_UINT32, BASE_DEC, NULL, 0,
5260 "RNExtensionsField", HFILL }},
5261 { &hf_p22_NotificationExtensionsField_item,
5262 { "IPMSExtension", "p22.IPMSExtension_element",
5263 FT_NONE, BASE_NONE, NULL, 0,
5264 NULL, HFILL }},
5265 { &hf_p22_NRNExtensionsField_item,
5266 { "IPMSExtension", "p22.IPMSExtension_element",
5267 FT_NONE, BASE_NONE, NULL, 0,
5268 NULL, HFILL }},
5269 { &hf_p22_RNExtensionsField_item,
5270 { "IPMSExtension", "p22.IPMSExtension_element",
5271 FT_NONE, BASE_NONE, NULL, 0,
5272 NULL, HFILL }},
5273 { &hf_p22_OtherNotificationTypeFields_item,
5274 { "IPMSExtension", "p22.IPMSExtension_element",
5275 FT_NONE, BASE_NONE, NULL, 0,
5276 NULL, HFILL }},
5277 { &hf_p22_advice,
5278 { "advice", "p22.advice",
5279 FT_UINT32, BASE_DEC, VALS(p22_BodyPart_vals), 0,
5280 "BodyPart", HFILL }},
5281 { &hf_p22_next_available,
5282 { "next-available", "p22.next_available",
5283 FT_STRING, BASE_NONE, NULL, 0,
5284 "Time", HFILL }},
5285 { &hf_p22_new_address,
5286 { "new-address", "p22.new_address_element",
5287 FT_NONE, BASE_NONE, NULL, 0,
5288 "ORDescriptor", HFILL }},
5289 { &hf_p22_effective_from,
5290 { "effective-from", "p22.effective_from",
5291 FT_STRING, BASE_NONE, NULL, 0,
5292 "Time", HFILL }},
5293 { &hf_p22_assembly_instructions,
5294 { "assembly-instructions", "p22.assembly_instructions",
5295 FT_UINT32, BASE_DEC, NULL, 0,
5296 "BodyPartReferences", HFILL }},
5297 { &hf_p22_BodyPartReferences_item,
5298 { "BodyPartReference", "p22.BodyPartReference",
5299 FT_UINT32, BASE_DEC, VALS(p22_BodyPartReference_vals), 0,
5300 NULL, HFILL }},
5301 { &hf_p22_stored_entry,
5302 { "stored-entry", "p22.stored_entry",
5303 FT_UINT32, BASE_DEC, NULL, 0,
5304 "SequenceNumber", HFILL }},
5305 { &hf_p22_stored_content,
5306 { "stored-content", "p22.stored_content",
5307 FT_UINT32, BASE_DEC, NULL, 0,
5308 "SequenceNumber", HFILL }},
5309 { &hf_p22_submitted_body_part,
5310 { "submitted-body-part", "p22.submitted_body_part",
5311 FT_UINT32, BASE_DEC, NULL, 0,
5312 "INTEGER_1_MAX", HFILL }},
5313 { &hf_p22_stored_body_part,
5314 { "stored-body-part", "p22.stored_body_part_element",
5315 FT_NONE, BASE_NONE, NULL, 0,
5316 NULL, HFILL }},
5317 { &hf_p22_message_entry,
5318 { "message-entry", "p22.message_entry",
5319 FT_UINT32, BASE_DEC, NULL, 0,
5320 "SequenceNumber", HFILL }},
5321 { &hf_p22_body_part_number,
5322 { "body-part-number", "p22.body_part_number",
5323 FT_UINT32, BASE_DEC, NULL, 0,
5324 "BodyPartNumber", HFILL }},
5325 { &hf_p22_Languages_item,
5326 { "Language", "p22.Language",
5327 FT_STRING, BASE_NONE, NULL, 0,
5328 NULL, HFILL }},
5329 { &hf_p22_BodyPartSignatures_item,
5330 { "BodyPartSignatures item", "p22.BodyPartSignatures_item_element",
5331 FT_NONE, BASE_NONE, NULL, 0,
5332 NULL, HFILL }},
5333 { &hf_p22_body_part_signature,
5334 { "body-part-signature", "p22.body_part_signature_element",
5335 FT_NONE, BASE_NONE, NULL, 0,
5336 "BodyPartSignature", HFILL }},
5337 { &hf_p22_originator_certificate_selector,
5338 { "originator-certificate-selector", "p22.originator_certificate_selector_element",
5339 FT_NONE, BASE_NONE, NULL, 0,
5340 "CertificateAssertion", HFILL }},
5341 { &hf_p22_algorithmIdentifier,
5342 { "algorithmIdentifier", "p22.algorithmIdentifier_element",
5343 FT_NONE, BASE_NONE, NULL, 0,
5344 NULL, HFILL }},
5345 { &hf_p22_encrypted,
5346 { "encrypted", "p22.encrypted",
5347 FT_BYTES, BASE_NONE, NULL, 0,
5348 "BIT_STRING", HFILL }},
5349 { &hf_p22_content_security_label,
5350 { "content-security-label", "p22.content_security_label_element",
5351 FT_NONE, BASE_NONE, NULL, 0,
5352 "SecurityLabel", HFILL }},
5353 { &hf_p22_heading_security_label,
5354 { "heading-security-label", "p22.heading_security_label_element",
5355 FT_NONE, BASE_NONE, NULL, 0,
5356 "SecurityLabel", HFILL }},
5357 { &hf_p22_body_part_security_labels,
5358 { "body-part-security-labels", "p22.body_part_security_labels",
5359 FT_UINT32, BASE_DEC, NULL, 0,
5360 "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }},
5361 { &hf_p22_body_part_security_labels_item,
5362 { "BodyPartSecurityLabel", "p22.BodyPartSecurityLabel",
5363 FT_UINT32, BASE_DEC, VALS(p22_BodyPartSecurityLabel_vals), 0,
5364 NULL, HFILL }},
5365 { &hf_p22_body_part_unlabelled,
5366 { "body-part-unlabelled", "p22.body_part_unlabelled_element",
5367 FT_NONE, BASE_NONE, NULL, 0,
5368 NULL, HFILL }},
5369 { &hf_p22_body_part_security_label,
5370 { "body-part-security-label", "p22.body_part_security_label_element",
5371 FT_NONE, BASE_NONE, NULL, 0,
5372 "SecurityLabel", HFILL }},
5373 { &hf_p22_CirculationList_item,
5374 { "CirculationMember", "p22.CirculationMember_element",
5375 FT_NONE, BASE_NONE, NULL, 0,
5376 NULL, HFILL }},
5377 { &hf_p22_circulation_recipient,
5378 { "circulation-recipient", "p22.circulation_recipient_element",
5379 FT_NONE, BASE_NONE, NULL, 0,
5380 "RecipientSpecifier", HFILL }},
5381 { &hf_p22_checked,
5382 { "checked", "p22.checked",
5383 FT_UINT32, BASE_DEC, VALS(p22_Checkmark_vals), 0,
5384 "Checkmark", HFILL }},
5385 { &hf_p22_simple,
5386 { "simple", "p22.simple_element",
5387 FT_NONE, BASE_NONE, NULL, 0,
5388 NULL, HFILL }},
5389 { &hf_p22_timestamped,
5390 { "timestamped", "p22.timestamped",
5391 FT_STRING, BASE_NONE, NULL, 0,
5392 "CirculationTime", HFILL }},
5393 { &hf_p22_signed,
5394 { "signed", "p22.signed_element",
5395 FT_NONE, BASE_NONE, NULL, 0,
5396 "CirculationSignature", HFILL }},
5397 { &hf_p22_circulation_signature_algorithm_identifier,
5398 { "algorithm-identifier", "p22.algorithm_identifier_element",
5399 FT_NONE, BASE_NONE, NULL, 0,
5400 "CirculationSignatureAlgorithmIdentifier", HFILL }},
5401 { &hf_p22_timestamp,
5402 { "timestamp", "p22.timestamp",
5403 FT_STRING, BASE_NONE, NULL, 0,
5404 "CirculationTime", HFILL }},
5405 { &hf_p22_circulation_signature_data,
5406 { "circulation-signature-data", "p22.circulation_signature_data_element",
5407 FT_NONE, BASE_NONE, NULL, 0,
5408 "CirculationSignatureData", HFILL }},
5409 { &hf_p22_DistributionCodes_item,
5410 { "DistributionCode", "p22.DistributionCode_element",
5411 FT_NONE, BASE_NONE, NULL, 0,
5412 NULL, HFILL }},
5413 { &hf_p22_oid_code,
5414 { "oid-code", "p22.oid_code",
5415 FT_OID, BASE_NONE, NULL, 0,
5416 "OBJECT_IDENTIFIER", HFILL }},
5417 { &hf_p22_alphanumeric_code,
5418 { "alphanumeric-code", "p22.alphanumeric_code_element",
5419 FT_NONE, BASE_NONE, NULL, 0,
5420 "AlphaCode", HFILL }},
5421 { &hf_p22_or_descriptor,
5422 { "or-descriptor", "p22.or_descriptor_element",
5423 FT_NONE, BASE_NONE, NULL, 0,
5424 "ORDescriptor", HFILL }},
5425 { &hf_p22_InformationCategories_item,
5426 { "InformationCategory", "p22.InformationCategory_element",
5427 FT_NONE, BASE_NONE, NULL, 0,
5428 NULL, HFILL }},
5429 { &hf_p22_reference,
5430 { "reference", "p22.reference",
5431 FT_OID, BASE_NONE, NULL, 0,
5432 "OBJECT_IDENTIFIER", HFILL }},
5433 { &hf_p22_description,
5434 { "description", "p22.description_element",
5435 FT_NONE, BASE_NONE, NULL, 0,
5436 "DescriptionString", HFILL }},
5437 { &hf_p22_ManualHandlingInstructions_item,
5438 { "ManualHandlingInstruction", "p22.ManualHandlingInstruction_element",
5439 FT_NONE, BASE_NONE, NULL, 0,
5440 NULL, HFILL }},
5441 { &hf_p22_GeneralTextParameters_item,
5442 { "CharacterSetRegistration", "p22.CharacterSetRegistration",
5443 FT_UINT32, BASE_DEC, NULL, 0,
5444 NULL, HFILL }},
5445 { &hf_p22_related_stored_file,
5446 { "related-stored-file", "p22.related_stored_file",
5447 FT_UINT32, BASE_DEC, NULL, 0,
5448 "RelatedStoredFile", HFILL }},
5449 { &hf_p22_contents_type,
5450 { "contents-type", "p22.contents_type",
5451 FT_UINT32, BASE_DEC, VALS(p22_Contents_Type_Attribute_vals), 0,
5452 "ContentsTypeParameter", HFILL }},
5453 { &hf_p22_environment,
5454 { "environment", "p22.environment_element",
5455 FT_NONE, BASE_NONE, NULL, 0,
5456 "EnvironmentParameter", HFILL }},
5457 { &hf_p22_compression,
5458 { "compression", "p22.compression_element",
5459 FT_NONE, BASE_NONE, NULL, 0,
5460 "CompressionParameter", HFILL }},
5461 { &hf_p22_file_attributes,
5462 { "file-attributes", "p22.file_attributes_element",
5463 FT_NONE, BASE_NONE, NULL, 0,
5464 "FileAttributes", HFILL }},
5465 { &hf_p22_FileTransferData_item,
5466 { "FileTransferData item", "p22.FileTransferData_item_element",
5467 FT_NONE, BASE_NONE, NULL, 0,
5468 "EXTERNAL", HFILL }},
5469 { &hf_p22_RelatedStoredFile_item,
5470 { "RelatedStoredFile item", "p22.RelatedStoredFile_item_element",
5471 FT_NONE, BASE_NONE, NULL, 0,
5472 NULL, HFILL }},
5473 { &hf_p22_file_identifier,
5474 { "file-identifier", "p22.file_identifier",
5475 FT_UINT32, BASE_DEC, VALS(p22_FileIdentifier_vals), 0,
5476 "FileIdentifier", HFILL }},
5477 { &hf_p22_relationship,
5478 { "relationship", "p22.relationship",
5479 FT_UINT32, BASE_DEC, VALS(p22_Relationship_vals), 0,
5480 NULL, HFILL }},
5481 { &hf_p22_pathname_and_version,
5482 { "pathname-and-version", "p22.pathname_and_version_element",
5483 FT_NONE, BASE_NONE, NULL, 0,
5484 "PathnameandVersion", HFILL }},
5485 { &hf_p22_cross_reference,
5486 { "cross-reference", "p22.cross_reference_element",
5487 FT_NONE, BASE_NONE, NULL, 0,
5488 "CrossReference", HFILL }},
5489 { &hf_p22_pathname,
5490 { "pathname", "p22.pathname",
5491 FT_UINT32, BASE_DEC, VALS(p22_Pathname_Attribute_vals), 0,
5492 "Pathname_Attribute", HFILL }},
5493 { &hf_p22_file_version,
5494 { "file-version", "p22.file_version",
5495 FT_STRING, BASE_NONE, NULL, 0,
5496 "GraphicString", HFILL }},
5497 { &hf_p22_application_cross_reference,
5498 { "application-cross-reference", "p22.application_cross_reference",
5499 FT_BYTES, BASE_NONE, NULL, 0,
5500 "OCTET_STRING", HFILL }},
5501 { &hf_p22_message_reference,
5502 { "message-reference", "p22.message_reference_element",
5503 FT_NONE, BASE_NONE, NULL, 0,
5504 "MessageReference", HFILL }},
5505 { &hf_p22_body_part_reference,
5506 { "body-part-reference", "p22.body_part_reference",
5507 FT_INT32, BASE_DEC, NULL, 0,
5508 "INTEGER", HFILL }},
5509 { &hf_p22_user_relative_identifier_ref,
5510 { "user-relative-identifier", "p22.user_relative_identifier",
5511 FT_STRING, BASE_NONE, NULL, 0,
5512 "PrintableString", HFILL }},
5513 { &hf_p22_explicit_relationship,
5514 { "explicit-relationship", "p22.explicit_relationship",
5515 FT_INT32, BASE_DEC, VALS(p22_ExplicitRelationship_vals), 0,
5516 "ExplicitRelationship", HFILL }},
5517 { &hf_p22_descriptive_relationship,
5518 { "descriptive-relationship", "p22.descriptive_relationship",
5519 FT_STRING, BASE_NONE, NULL, 0,
5520 "GraphicString", HFILL }},
5521 { &hf_p22_document_type,
5522 { "document-type", "p22.document_type_element",
5523 FT_NONE, BASE_NONE, NULL, 0,
5524 "T_document_type", HFILL }},
5525 { &hf_p22_document_type_name,
5526 { "document-type-name", "p22.document_type_name",
5527 FT_OID, BASE_NONE, NULL, 0,
5528 NULL, HFILL }},
5529 { &hf_p22_parameter,
5530 { "parameter", "p22.parameter_element",
5531 FT_NONE, BASE_NONE, NULL, 0,
5532 NULL, HFILL }},
5533 { &hf_p22_constraint_set_and_abstract_syntax,
5534 { "constraint-set-and-abstract-syntax", "p22.constraint_set_and_abstract_syntax_element",
5535 FT_NONE, BASE_NONE, NULL, 0,
5536 "T_constraint_set_and_abstract_syntax", HFILL }},
5537 { &hf_p22_constraint_set_name,
5538 { "constraint-set-name", "p22.constraint_set_name",
5539 FT_OID, BASE_NONE, NULL, 0,
5540 NULL, HFILL }},
5541 { &hf_p22_abstract_syntax_name,
5542 { "abstract-syntax-name", "p22.abstract_syntax_name",
5543 FT_OID, BASE_NONE, NULL, 0,
5544 NULL, HFILL }},
5545 { &hf_p22_application_reference,
5546 { "application-reference", "p22.application_reference",
5547 FT_UINT32, BASE_DEC, VALS(p22_GeneralIdentifier_vals), 0,
5548 "GeneralIdentifier", HFILL }},
5549 { &hf_p22_machine,
5550 { "machine", "p22.machine",
5551 FT_UINT32, BASE_DEC, VALS(p22_GeneralIdentifier_vals), 0,
5552 "GeneralIdentifier", HFILL }},
5553 { &hf_p22_operating_system,
5554 { "operating-system", "p22.operating_system",
5555 FT_OID, BASE_NONE, NULL, 0,
5556 "OBJECT_IDENTIFIER", HFILL }},
5557 { &hf_p22_user_visible_string,
5558 { "user-visible-string", "p22.user_visible_string",
5559 FT_UINT32, BASE_DEC, NULL, 0,
5560 NULL, HFILL }},
5561 { &hf_p22_user_visible_string_item,
5562 { "user-visible-string item", "p22.user_visible_string_item",
5563 FT_STRING, BASE_NONE, NULL, 0,
5564 "GraphicString", HFILL }},
5565 { &hf_p22_registered_identifier,
5566 { "registered-identifier", "p22.registered_identifier",
5567 FT_OID, BASE_NONE, NULL, 0,
5568 "OBJECT_IDENTIFIER", HFILL }},
5569 { &hf_p22_descriptive_identifier,
5570 { "descriptive-identifier", "p22.descriptive_identifier",
5571 FT_UINT32, BASE_DEC, NULL, 0,
5572 NULL, HFILL }},
5573 { &hf_p22_descriptive_identifier_item,
5574 { "descriptive-identifier item", "p22.descriptive_identifier_item",
5575 FT_STRING, BASE_NONE, NULL, 0,
5576 "GraphicString", HFILL }},
5577 { &hf_p22_compression_algorithm_id,
5578 { "compression-algorithm-id", "p22.compression_algorithm_id",
5579 FT_OID, BASE_NONE, NULL, 0,
5580 NULL, HFILL }},
5581 { &hf_p22_compression_algorithm_param,
5582 { "compression-algorithm-param", "p22.compression_algorithm_param_element",
5583 FT_NONE, BASE_NONE, NULL, 0,
5584 NULL, HFILL }},
5585 { &hf_p22_permitted_actions,
5586 { "permitted-actions", "p22.permitted_actions",
5587 FT_BYTES, BASE_NONE, NULL, 0,
5588 "Permitted_Actions_Attribute", HFILL }},
5589 { &hf_p22_storage_account,
5590 { "storage-account", "p22.storage_account",
5591 FT_UINT32, BASE_DEC, VALS(p22_Account_Attribute_vals), 0,
5592 "Account_Attribute", HFILL }},
5593 { &hf_p22_date_and_time_of_creation,
5594 { "date-and-time-of-creation", "p22.date_and_time_of_creation",
5595 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5596 "Date_and_Time_Attribute", HFILL }},
5597 { &hf_p22_date_and_time_of_last_modification,
5598 { "date-and-time-of-last-modification", "p22.date_and_time_of_last_modification",
5599 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5600 "Date_and_Time_Attribute", HFILL }},
5601 { &hf_p22_date_and_time_of_last_read_access,
5602 { "date-and-time-of-last-read-access", "p22.date_and_time_of_last_read_access",
5603 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5604 "Date_and_Time_Attribute", HFILL }},
5605 { &hf_p22_date_and_time_of_last_attribute_modification,
5606 { "date-and-time-of-last-attribute-modification", "p22.date_and_time_of_last_attribute_modification",
5607 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5608 "Date_and_Time_Attribute", HFILL }},
5609 { &hf_p22_identity_of_creator,
5610 { "identity-of-creator", "p22.identity_of_creator",
5611 FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0,
5612 "User_Identity_Attribute", HFILL }},
5613 { &hf_p22_identity_of_last_modifier,
5614 { "identity-of-last-modifier", "p22.identity_of_last_modifier",
5615 FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0,
5616 "User_Identity_Attribute", HFILL }},
5617 { &hf_p22_identity_of_last_reader,
5618 { "identity-of-last-reader", "p22.identity_of_last_reader",
5619 FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0,
5620 "User_Identity_Attribute", HFILL }},
5621 { &hf_p22_identity_of_last_attribute_modifier,
5622 { "identity-of-last-attribute-modifier", "p22.identity_of_last_attribute_modifier",
5623 FT_UINT32, BASE_DEC, VALS(p22_User_Identity_Attribute_vals), 0,
5624 "User_Identity_Attribute", HFILL }},
5625 { &hf_p22_object_availability,
5626 { "object-availability", "p22.object_availability",
5627 FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
5628 "Object_Availability_Attribute", HFILL }},
5629 { &hf_p22_object_size,
5630 { "object-size", "p22.object_size",
5631 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5632 "Object_Size_Attribute", HFILL }},
5633 { &hf_p22_future_object_size,
5634 { "future-object-size", "p22.future_object_size",
5635 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5636 "Object_Size_Attribute", HFILL }},
5637 { &hf_p22_access_control,
5638 { "access-control", "p22.access_control",
5639 FT_UINT32, BASE_DEC, VALS(p22_Access_Control_Attribute_vals), 0,
5640 "Access_Control_Attribute", HFILL }},
5641 { &hf_p22_legal_qualifications,
5642 { "legal-qualifications", "p22.legal_qualifications",
5643 FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
5644 "Legal_Qualification_Attribute", HFILL }},
5645 { &hf_p22_private_use,
5646 { "private-use", "p22.private_use",
5647 FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
5648 "Private_Use_Attribute", HFILL }},
5649 { &hf_p22_attribute_extensions,
5650 { "attribute-extensions", "p22.attribute_extensions",
5651 FT_UINT32, BASE_DEC, NULL, 0,
5652 NULL, HFILL }},
5653 { &hf_p22_incomplete_pathname,
5654 { "incomplete-pathname", "p22.incomplete_pathname",
5655 FT_UINT32, BASE_DEC, NULL, 0,
5656 "Pathname", HFILL }},
5657 { &hf_p22_complete_pathname,
5658 { "complete-pathname", "p22.complete_pathname",
5659 FT_UINT32, BASE_DEC, NULL, 0,
5660 "Pathname", HFILL }},
5661 { &hf_p22_no_value_available,
5662 { "no-value-available", "p22.no_value_available_element",
5663 FT_NONE, BASE_NONE, NULL, 0,
5664 NULL, HFILL }},
5665 { &hf_p22_account_actual_values,
5666 { "actual-values", "p22.actual_values",
5667 FT_STRING, BASE_NONE, NULL, 0,
5668 "Account", HFILL }},
5669 { &hf_p22_identity_actual_values,
5670 { "actual-values", "p22.actual_values",
5671 FT_STRING, BASE_NONE, NULL, 0,
5672 "User_Identity", HFILL }},
5673 { &hf_p22_actual_values,
5674 { "actual-values", "p22.actual_values",
5675 FT_UINT32, BASE_DEC, NULL, 0,
5676 "SET_OF_Access_Control_Element", HFILL }},
5677 { &hf_p22_actual_values_item,
5678 { "Access-Control-Element", "p22.Access_Control_Element_element",
5679 FT_NONE, BASE_NONE, NULL, 0,
5680 NULL, HFILL }},
5681 { &hf_p22_action_list,
5682 { "action-list", "p22.action_list",
5683 FT_BYTES, BASE_NONE, NULL, 0,
5684 "Access_Request", HFILL }},
5685 { &hf_p22_concurrency_access,
5686 { "concurrency-access", "p22.concurrency_access_element",
5687 FT_NONE, BASE_NONE, NULL, 0,
5688 NULL, HFILL }},
5689 { &hf_p22_identity,
5690 { "identity", "p22.identity",
5691 FT_STRING, BASE_NONE, NULL, 0,
5692 "User_Identity", HFILL }},
5693 { &hf_p22_passwords,
5694 { "passwords", "p22.passwords_element",
5695 FT_NONE, BASE_NONE, NULL, 0,
5696 "Access_Passwords", HFILL }},
5697 { &hf_p22_location,
5698 { "location", "p22.location_element",
5699 FT_NONE, BASE_NONE, NULL, 0,
5700 "Application_Entity_Title", HFILL }},
5701 { &hf_p22_read_password,
5702 { "read-password", "p22.read_password",
5703 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5704 "Password", HFILL }},
5705 { &hf_p22_insert_password,
5706 { "insert-password", "p22.insert_password",
5707 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5708 "Password", HFILL }},
5709 { &hf_p22_replace_password,
5710 { "replace-password", "p22.replace_password",
5711 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5712 "Password", HFILL }},
5713 { &hf_p22_extend_password,
5714 { "extend-password", "p22.extend_password",
5715 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5716 "Password", HFILL }},
5717 { &hf_p22_erase_password,
5718 { "erase-password", "p22.erase_password",
5719 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5720 "Password", HFILL }},
5721 { &hf_p22_read_attribute_password,
5722 { "read-attribute-password", "p22.read_attribute_password",
5723 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5724 "Password", HFILL }},
5725 { &hf_p22_change_attribute_password,
5726 { "change-attribute-password", "p22.change_attribute_password",
5727 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5728 "Password", HFILL }},
5729 { &hf_p22_delete_password,
5730 { "delete-password", "p22.delete_password",
5731 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5732 "Password", HFILL }},
5733 { &hf_p22_pass_passwords,
5734 { "pass-passwords", "p22.pass_passwords",
5735 FT_UINT32, BASE_DEC, NULL, 0,
5736 NULL, HFILL }},
5737 { &hf_p22_link_password,
5738 { "link-password", "p22.link_password",
5739 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5740 "Password", HFILL }},
5741 { &hf_p22_graphic_string,
5742 { "graphic-string", "p22.graphic_string",
5743 FT_STRING, BASE_NONE, NULL, 0,
5744 "GraphicString", HFILL }},
5745 { &hf_p22_octet_string,
5746 { "octet-string", "p22.octet_string",
5747 FT_BYTES, BASE_NONE, NULL, 0,
5748 NULL, HFILL }},
5749 { &hf_p22_Pass_Passwords_item,
5750 { "Password", "p22.Password",
5751 FT_UINT32, BASE_DEC, VALS(p22_Password_vals), 0,
5752 NULL, HFILL }},
5753 { &hf_p22_ap_title,
5754 { "ap-title", "p22.ap_title",
5755 FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
5756 NULL, HFILL }},
5757 { &hf_p22_ae_qualifier,
5758 { "ae-qualifier", "p22.ae_qualifier",
5759 FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
5760 NULL, HFILL }},
5761 { &hf_p22_voice_message_duration,
5762 { "voice-message-duration", "p22.voice_message_duration",
5763 FT_INT32, BASE_DEC, NULL, 0,
5764 "INTEGER", HFILL }},
5765 { &hf_p22_voice_encoding_type,
5766 { "voice-encoding-type", "p22.voice_encoding_type",
5767 FT_OID, BASE_NONE, NULL, 0,
5768 "OBJECT_IDENTIFIER", HFILL }},
5769 { &hf_p22_supplementary_information,
5770 { "supplementary-information", "p22.supplementary_information",
5771 FT_STRING, BASE_NONE, NULL, 0,
5772 "IA5String", HFILL }},
5773 { &hf_p22_mts_identifier,
5774 { "mts-identifier", "p22.mts_identifier_element",
5775 FT_NONE, BASE_NONE, NULL, 0,
5776 "MessageDeliveryIdentifier", HFILL }},
5777 { &hf_p22_submission_proof,
5778 { "submission-proof", "p22.submission_proof_element",
5779 FT_NONE, BASE_NONE, NULL, 0,
5780 "SubmissionProof", HFILL }},
5781 { &hf_p22_proof_of_submission,
5782 { "proof-of-submission", "p22.proof_of_submission_element",
5783 FT_NONE, BASE_NONE, NULL, 0,
5784 "ProofOfSubmission", HFILL }},
5785 { &hf_p22_originating_MTA_certificate,
5786 { "originating-MTA-certificate", "p22.originating_MTA_certificate_element",
5787 FT_NONE, BASE_NONE, NULL, 0,
5788 "OriginatingMTACertificate", HFILL }},
5789 { &hf_p22_message_submission_envelope,
5790 { "message-submission-envelope", "p22.message_submission_envelope_element",
5791 FT_NONE, BASE_NONE, NULL, 0,
5792 "MessageSubmissionEnvelope", HFILL }},
5793 { &hf_p22_IPMSynopsis_item,
5794 { "BodyPartSynopsis", "p22.BodyPartSynopsis",
5795 FT_UINT32, BASE_DEC, VALS(p22_BodyPartSynopsis_vals), 0,
5796 NULL, HFILL }},
5797 { &hf_p22_message_synopsis,
5798 { "message", "p22.message_element",
5799 FT_NONE, BASE_NONE, NULL, 0,
5800 "MessageBodyPartSynopsis", HFILL }},
5801 { &hf_p22_non_message,
5802 { "non-message", "p22.non_message_element",
5803 FT_NONE, BASE_NONE, NULL, 0,
5804 "NonMessageBodyPartSynopsis", HFILL }},
5805 { &hf_p22_number,
5806 { "number", "p22.number",
5807 FT_UINT32, BASE_DEC, NULL, 0,
5808 "SequenceNumber", HFILL }},
5809 { &hf_p22_synopsis,
5810 { "synopsis", "p22.synopsis",
5811 FT_UINT32, BASE_DEC, NULL, 0,
5812 "IPMSynopsis", HFILL }},
5813 { &hf_p22_bp_type,
5814 { "type", "p22.type",
5815 FT_OID, BASE_NONE, NULL, 0,
5816 "OBJECT_IDENTIFIER", HFILL }},
5817 { &hf_p22_bp_parameters,
5818 { "parameters", "p22.parameters_element",
5819 FT_NONE, BASE_NONE, NULL, 0,
5820 "INSTANCE_OF", HFILL }},
5821 { &hf_p22_size,
5822 { "size", "p22.size",
5823 FT_INT32, BASE_DEC, NULL, 0,
5824 "INTEGER", HFILL }},
5825 { &hf_p22_processed,
5826 { "processed", "p22.processed",
5827 FT_BOOLEAN, BASE_NONE, NULL, 0,
5828 "BOOLEAN", HFILL }},
5829 { &hf_p22_data,
5830 { "data", "p22.data",
5831 FT_OID, BASE_NONE, NULL, 0,
5832 "OBJECT_IDENTIFIER", HFILL }},
5833 { &hf_p22_parameters,
5834 { "parameters", "p22.parameters",
5835 FT_OID, BASE_NONE, NULL, 0,
5836 "OBJECT_IDENTIFIER", HFILL }},
5837 { &hf_p22_this_child_entry,
5838 { "this-child-entry", "p22.this_child_entry",
5839 FT_UINT32, BASE_DEC, NULL, 0,
5840 "SequenceNumber", HFILL }},
5841 { &hf_p22_position,
5842 { "position", "p22.position",
5843 FT_INT32, BASE_DEC, NULL, 0,
5844 "INTEGER", HFILL }},
5845 { &hf_p22_BodyPartSignatureVerification_item,
5846 { "BodyPartSignatureVerification item", "p22.BodyPartSignatureVerification_item_element",
5847 FT_NONE, BASE_NONE, NULL, 0,
5848 NULL, HFILL }},
5849 { &hf_p22_body_part_sequence_number,
5850 { "body-part-sequence-number", "p22.body_part_sequence_number",
5851 FT_UINT32, BASE_DEC, NULL, 0,
5852 "BodyPartNumber", HFILL }},
5853 { &hf_p22_body_part_signature_status,
5854 { "body-part-signature", "p22.body_part_signature",
5855 FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
5856 "SignatureStatus", HFILL }},
5857 { &hf_p22_stored,
5858 { "stored", "p22.stored",
5859 FT_UINT32, BASE_DEC, NULL, 0,
5860 "SET_OF_SequenceNumber", HFILL }},
5861 { &hf_p22_stored_item,
5862 { "SequenceNumber", "p22.SequenceNumber",
5863 FT_UINT32, BASE_DEC, NULL, 0,
5864 NULL, HFILL }},
5865 { &hf_p22_absent,
5866 { "absent", "p22.absent_element",
5867 FT_NONE, BASE_NONE, NULL, 0,
5868 NULL, HFILL }},
5869 { &hf_p22_no_reply_received,
5870 { "no-reply-received", "p22.no_reply_received_element",
5871 FT_NONE, BASE_NONE, NULL, 0,
5872 NULL, HFILL }},
5873 { &hf_p22_received_replies,
5874 { "received-replies", "p22.received_replies",
5875 FT_UINT32, BASE_DEC, NULL, 0,
5876 "SEQUENCE_OF_SequenceNumber", HFILL }},
5877 { &hf_p22_received_replies_item,
5878 { "SequenceNumber", "p22.SequenceNumber",
5879 FT_UINT32, BASE_DEC, NULL, 0,
5880 NULL, HFILL }},
5881 { &hf_p22_no_ipn_received,
5882 { "no-ipn-received", "p22.no_ipn_received_element",
5883 FT_NONE, BASE_NONE, NULL, 0,
5884 NULL, HFILL }},
5885 { &hf_p22_ipns_received,
5886 { "ipns-received", "p22.ipns_received",
5887 FT_UINT32, BASE_DEC, NULL, 0,
5888 "SEQUENCE_OF_SequenceNumber", HFILL }},
5889 { &hf_p22_ipns_received_item,
5890 { "SequenceNumber", "p22.SequenceNumber",
5891 FT_UINT32, BASE_DEC, NULL, 0,
5892 NULL, HFILL }},
5893 { &hf_p22_content_or_arguments,
5894 { "content-or-arguments", "p22.content_or_arguments",
5895 FT_UINT32, BASE_DEC, VALS(p22_T_content_or_arguments_vals), 0,
5896 "T_content_or_arguments", HFILL }},
5897 { &hf_p22_original_content,
5898 { "original-content", "p22.original_content",
5899 FT_BYTES, BASE_NONE, NULL, 0,
5900 "OriginalContent", HFILL }},
5901 { &hf_p22_original_security_arguments,
5902 { "original-security-arguments", "p22.original_security_arguments_element",
5903 FT_NONE, BASE_NONE, NULL, 0,
5904 NULL, HFILL }},
5905 { &hf_p22_original_content_integrity_check,
5906 { "original-content-integrity-check", "p22.original_content_integrity_check_element",
5907 FT_NONE, BASE_NONE, NULL, 0,
5908 "OriginalContentIntegrityCheck", HFILL }},
5909 { &hf_p22_original_message_origin_authentication_check,
5910 { "original-message-origin-authentication-check", "p22.original_message_origin_authentication_check_element",
5911 FT_NONE, BASE_NONE, NULL, 0,
5912 "OriginalMessageOriginAuthenticationCheck", HFILL }},
5913 { &hf_p22_original_message_token,
5914 { "original-message-token", "p22.original_message_token_element",
5915 FT_NONE, BASE_NONE, NULL, 0,
5916 "OriginalMessageToken", HFILL }},
5917 { &hf_p22_security_diagnostic_code,
5918 { "security-diagnostic-code", "p22.security_diagnostic_code",
5919 FT_INT32, BASE_DEC, VALS(p22_SecurityDiagnosticCode_vals), 0,
5920 "SecurityDiagnosticCode", HFILL }},
5921 { &hf_p22_BodyPartTokens_item,
5922 { "BodyPartTokens item", "p22.BodyPartTokens_item_element",
5923 FT_NONE, BASE_NONE, NULL, 0,
5924 NULL, HFILL }},
5925 { &hf_p22_body_part_choice,
5926 { "body-part-choice", "p22.body_part_choice",
5927 FT_UINT32, BASE_DEC, VALS(p22_T_body_part_choice_vals), 0,
5928 "T_body_part_choice", HFILL }},
5929 { &hf_p22_encryption_token,
5930 { "encryption-token", "p22.encryption_token_element",
5931 FT_NONE, BASE_NONE, NULL, 0,
5932 "EncryptionToken", HFILL }},
5933 { &hf_p22_message_or_content_body_part,
5934 { "message-or-content-body-part", "p22.message_or_content_body_part",
5935 FT_UINT32, BASE_DEC, NULL, 0,
5936 "BodyPartTokens", HFILL }},
5937 { &hf_p22_encryption_algorithm_identifier,
5938 { "encryption-algorithm-identifier", "p22.encryption_algorithm_identifier_element",
5939 FT_NONE, BASE_NONE, NULL, 0,
5940 "AlgorithmIdentifier", HFILL }},
5941 { &hf_p22_encrypted_key,
5942 { "encrypted-key", "p22.encrypted_key",
5943 FT_BYTES, BASE_NONE, NULL, 0,
5944 "BIT_STRING", HFILL }},
5945 { &hf_p22_recipient_certificate_selector,
5946 { "recipient-certificate-selector", "p22.recipient_certificate_selector_element",
5947 FT_NONE, BASE_NONE, NULL, 0,
5948 "CertificateAssertion", HFILL }},
5949 { &hf_p22_recipient_certificate,
5950 { "recipient-certificate", "p22.recipient_certificate_element",
5951 FT_NONE, BASE_NONE, NULL, 0,
5952 "Certificates", HFILL }},
5953 { &hf_p22_ForwardedContentToken_item,
5954 { "ForwardedContentToken item", "p22.ForwardedContentToken_item_element",
5955 FT_NONE, BASE_NONE, NULL, 0,
5956 NULL, HFILL }},
5957 { &hf_p22_body_part_token_choice,
5958 { "body-part-choice", "p22.body_part_choice",
5959 FT_UINT32, BASE_DEC, VALS(p22_T_body_part_token_choice_vals), 0,
5960 "T_body_part_token_choice", HFILL }},
5961 { &hf_p22_forwarding_token,
5962 { "forwarding-token", "p22.forwarding_token_element",
5963 FT_NONE, BASE_NONE, NULL, 0,
5964 "MessageToken", HFILL }},
5965 { &hf_p22_forwarded_content_token,
5966 { "message-or-content-body-part", "p22.message_or_content_body_part",
5967 FT_UINT32, BASE_DEC, NULL, 0,
5968 "ForwardedContentToken", HFILL }},
5969 { &hf_p22_choice,
5970 { "choice", "p22.choice",
5971 FT_UINT32, BASE_DEC, VALS(p22_T_choice_vals), 0,
5972 NULL, HFILL }},
5973 { &hf_p22_non_receipt_fields,
5974 { "non-receipt-fields", "p22.non_receipt_fields_element",
5975 FT_NONE, BASE_NONE, NULL, 0,
5976 "NonReceiptFields", HFILL }},
5977 { &hf_p22_receipt_fields,
5978 { "receipt-fields", "p22.receipt_fields_element",
5979 FT_NONE, BASE_NONE, NULL, 0,
5980 "ReceiptFields", HFILL }},
5981 { &hf_p22_other_notification_type_fields,
5982 { "other-notification-type-fields", "p22.other_notification_type_fields",
5983 FT_UINT32, BASE_DEC, NULL, 0,
5984 "OtherNotificationTypeFields", HFILL }},
5985 { &hf_p22_NotificationRequests_rn,
5986 { "rn", "p22.rn",
5987 FT_BOOLEAN, 8, NULL, 0x80,
5988 NULL, HFILL }},
5989 { &hf_p22_NotificationRequests_nrn,
5990 { "nrn", "p22.nrn",
5991 FT_BOOLEAN, 8, NULL, 0x40,
5992 NULL, HFILL }},
5993 { &hf_p22_NotificationRequests_ipm_return,
5994 { "ipm-return", "p22.ipm-return",
5995 FT_BOOLEAN, 8, NULL, 0x20,
5996 NULL, HFILL }},
5997 { &hf_p22_NotificationRequests_an_supported,
5998 { "an-supported", "p22.an-supported",
5999 FT_BOOLEAN, 8, NULL, 0x10,
6000 NULL, HFILL }},
6001 { &hf_p22_NotificationRequests_suppress_an,
6002 { "suppress-an", "p22.suppress-an",
6003 FT_BOOLEAN, 8, NULL, 0x08,
6004 NULL, HFILL }},
6005 { &hf_p22_Access_Request_read,
6006 { "read", "p22.read",
6007 FT_BOOLEAN, 8, NULL, 0x80,
6008 NULL, HFILL }},
6009 { &hf_p22_Access_Request_insert,
6010 { "insert", "p22.insert",
6011 FT_BOOLEAN, 8, NULL, 0x40,
6012 NULL, HFILL }},
6013 { &hf_p22_Access_Request_replace,
6014 { "replace", "p22.replace",
6015 FT_BOOLEAN, 8, NULL, 0x20,
6016 NULL, HFILL }},
6017 { &hf_p22_Access_Request_extend,
6018 { "extend", "p22.extend",
6019 FT_BOOLEAN, 8, NULL, 0x10,
6020 NULL, HFILL }},
6021 { &hf_p22_Access_Request_erase,
6022 { "erase", "p22.erase",
6023 FT_BOOLEAN, 8, NULL, 0x08,
6024 NULL, HFILL }},
6025 { &hf_p22_Access_Request_read_attribute,
6026 { "read-attribute", "p22.read-attribute",
6027 FT_BOOLEAN, 8, NULL, 0x04,
6028 NULL, HFILL }},
6029 { &hf_p22_Access_Request_change_attribute,
6030 { "change-attribute", "p22.change-attribute",
6031 FT_BOOLEAN, 8, NULL, 0x02,
6032 NULL, HFILL }},
6033 { &hf_p22_Access_Request_delete_object,
6034 { "delete-object", "p22.delete-object",
6035 FT_BOOLEAN, 8, NULL, 0x01,
6036 NULL, HFILL }},
6037 { &hf_p22_RecipientSecurityRequest_content_non_repudiation,
6038 { "content-non-repudiation", "p22.content-non-repudiation",
6039 FT_BOOLEAN, 8, NULL, 0x80,
6040 NULL, HFILL }},
6041 { &hf_p22_RecipientSecurityRequest_content_proof,
6042 { "content-proof", "p22.content-proof",
6043 FT_BOOLEAN, 8, NULL, 0x40,
6044 NULL, HFILL }},
6045 { &hf_p22_RecipientSecurityRequest_ipn_non_repudiation,
6046 { "ipn-non-repudiation", "p22.ipn-non-repudiation",
6047 FT_BOOLEAN, 8, NULL, 0x20,
6048 NULL, HFILL }},
6049 { &hf_p22_RecipientSecurityRequest_ipn_proof,
6050 { "ipn-proof", "p22.ipn-proof",
6051 FT_BOOLEAN, 8, NULL, 0x10,
6052 NULL, HFILL }},
6054 /*--- End of included file: packet-p22-hfarr.c ---*/
6055 #line 122 "../../asn1/p22/packet-p22-template.c"
6058 /* List of subtrees */
6059 static gint *ett[] = {
6060 &ett_p22,
6062 /*--- Included file: packet-p22-ettarr.c ---*/
6063 #line 1 "../../asn1/p22/packet-p22-ettarr.c"
6064 &ett_p22_InformationObject,
6065 &ett_p22_IPM,
6066 &ett_p22_IPMSExtension,
6067 &ett_p22_Heading,
6068 &ett_p22_IPMIdentifier_U,
6069 &ett_p22_RecipientSpecifier,
6070 &ett_p22_ORDescriptor,
6071 &ett_p22_NotificationRequests,
6072 &ett_p22_RecipientExtensionsField,
6073 &ett_p22_AuthorizingUsersField,
6074 &ett_p22_PrimaryRecipientsField,
6075 &ett_p22_CopyRecipientsField,
6076 &ett_p22_BlindCopyRecipientsField,
6077 &ett_p22_ObsoletedIPMsField,
6078 &ett_p22_RelatedIPMsField,
6079 &ett_p22_ReplyRecipientsField,
6080 &ett_p22_ExtensionsField,
6081 &ett_p22_Body,
6082 &ett_p22_BodyPart,
6083 &ett_p22_T_basic,
6084 &ett_p22_ExtendedBodyPart,
6085 &ett_p22_IA5TextBodyPart,
6086 &ett_p22_IA5TextParameters,
6087 &ett_p22_G3FacsimileBodyPart,
6088 &ett_p22_G3FacsimileParameters,
6089 &ett_p22_G3FacsimileData,
6090 &ett_p22_G4Class1BodyPart,
6091 &ett_p22_MixedModeBodyPart,
6092 &ett_p22_TeletexBodyPart,
6093 &ett_p22_TeletexParameters,
6094 &ett_p22_TeletexData,
6095 &ett_p22_VideotexBodyPart,
6096 &ett_p22_VideotexParameters,
6097 &ett_p22_EncryptedBodyPart,
6098 &ett_p22_EncryptedParameters,
6099 &ett_p22_MessageBodyPart,
6100 &ett_p22_MessageParameters,
6101 &ett_p22_IPN,
6102 &ett_p22_CommonFields,
6103 &ett_p22_NonReceiptFields,
6104 &ett_p22_ReceiptFields,
6105 &ett_p22_NotificationExtensionsField,
6106 &ett_p22_NRNExtensionsField,
6107 &ett_p22_RNExtensionsField,
6108 &ett_p22_OtherNotificationTypeFields,
6109 &ett_p22_AbsenceAdvice,
6110 &ett_p22_ChangeOfAddressAdvice,
6111 &ett_p22_IPMAssemblyInstructions,
6112 &ett_p22_BodyPartReferences,
6113 &ett_p22_BodyPartReference,
6114 &ett_p22_T_stored_body_part,
6115 &ett_p22_Languages,
6116 &ett_p22_BodyPartSignatures,
6117 &ett_p22_BodyPartSignatures_item,
6118 &ett_p22_Signature,
6119 &ett_p22_IPMSecurityLabel,
6120 &ett_p22_SEQUENCE_OF_BodyPartSecurityLabel,
6121 &ett_p22_BodyPartSecurityLabel,
6122 &ett_p22_CirculationList,
6123 &ett_p22_CirculationMember,
6124 &ett_p22_Checkmark,
6125 &ett_p22_CirculationSignatureData,
6126 &ett_p22_CirculationSignature,
6127 &ett_p22_DistributionCodes,
6128 &ett_p22_DistributionCode,
6129 &ett_p22_InformationCategories,
6130 &ett_p22_InformationCategory,
6131 &ett_p22_ManualHandlingInstructions,
6132 &ett_p22_GeneralTextParameters,
6133 &ett_p22_FileTransferParameters,
6134 &ett_p22_FileTransferData,
6135 &ett_p22_RelatedStoredFile,
6136 &ett_p22_RelatedStoredFile_item,
6137 &ett_p22_FileIdentifier,
6138 &ett_p22_PathnameandVersion,
6139 &ett_p22_CrossReference,
6140 &ett_p22_MessageReference,
6141 &ett_p22_Relationship,
6142 &ett_p22_Contents_Type_Attribute,
6143 &ett_p22_T_document_type,
6144 &ett_p22_T_constraint_set_and_abstract_syntax,
6145 &ett_p22_EnvironmentParameter,
6146 &ett_p22_T_user_visible_string,
6147 &ett_p22_GeneralIdentifier,
6148 &ett_p22_T_descriptive_identifier,
6149 &ett_p22_CompressionParameter,
6150 &ett_p22_FileAttributes,
6151 &ett_p22_Pathname_Attribute,
6152 &ett_p22_Account_Attribute,
6153 &ett_p22_User_Identity_Attribute,
6154 &ett_p22_Access_Control_Attribute,
6155 &ett_p22_SET_OF_Access_Control_Element,
6156 &ett_p22_Access_Control_Element,
6157 &ett_p22_Access_Request,
6158 &ett_p22_Access_Passwords,
6159 &ett_p22_Password,
6160 &ett_p22_Pass_Passwords,
6161 &ett_p22_Application_Entity_Title,
6162 &ett_p22_VoiceParameters,
6163 &ett_p22_ForwardedContentParameters,
6164 &ett_p22_SubmissionProof,
6165 &ett_p22_IPMSynopsis,
6166 &ett_p22_BodyPartSynopsis,
6167 &ett_p22_MessageBodyPartSynopsis,
6168 &ett_p22_NonMessageBodyPartSynopsis,
6169 &ett_p22_BodyPartDescriptor,
6170 &ett_p22_BodyPartSignatureVerification,
6171 &ett_p22_BodyPartSignatureVerification_item,
6172 &ett_p22_IPMLocation,
6173 &ett_p22_SET_OF_SequenceNumber,
6174 &ett_p22_CorrelatedDeliveredReplies,
6175 &ett_p22_SEQUENCE_OF_SequenceNumber,
6176 &ett_p22_CorrelatedDeliveredIPNs,
6177 &ett_p22_RecipientSecurityRequest,
6178 &ett_p22_IpnSecurityResponse,
6179 &ett_p22_T_content_or_arguments,
6180 &ett_p22_T_original_security_arguments,
6181 &ett_p22_BodyPartTokens,
6182 &ett_p22_BodyPartTokens_item,
6183 &ett_p22_T_body_part_choice,
6184 &ett_p22_EncryptionToken,
6185 &ett_p22_ForwardedContentToken,
6186 &ett_p22_ForwardedContentToken_item,
6187 &ett_p22_T_body_part_token_choice,
6188 &ett_p22_T_choice,
6190 /*--- End of included file: packet-p22-ettarr.c ---*/
6191 #line 128 "../../asn1/p22/packet-p22-template.c"
6194 /* Register protocol */
6195 proto_p22 = proto_register_protocol(PNAME, PSNAME, PFNAME);
6196 register_dissector("p22", dissect_p22, proto_p22);
6197 /* Register fields and subtrees */
6198 proto_register_field_array(proto_p22, hf, array_length(hf));
6199 proto_register_subtree_array(ett, array_length(ett));
6204 /*--- proto_reg_handoff_p22 --- */
6205 void proto_reg_handoff_p22(void) {
6208 /*--- Included file: packet-p22-dis-tab.c ---*/
6209 #line 1 "../../asn1/p22/packet-p22-dis-tab.c"
6210 register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_p22, "id-on-absence-advice");
6211 register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_p22, "id-on-change-of-address-advice");
6212 register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_p22, "id-mst-assembly-instructions");
6213 register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_p22, "id-hex-incomplete-copy");
6214 register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_p22, "id-hex-languages");
6215 register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_p22, "id-hex-auto-submitted");
6216 register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_p22, "id-hex-body-part-signatures");
6217 register_ber_oid_dissector("2.6.1.5.4", dissect_IPMSecurityLabel_PDU, proto_p22, "id-hex-ipm-security-label");
6218 register_ber_oid_dissector("2.6.1.5.5", dissect_AuthorizationTime_PDU, proto_p22, "id-hex-authorization-time");
6219 register_ber_oid_dissector("2.6.1.5.6", dissect_CirculationList_PDU, proto_p22, "id-hex-circulation-list-recipients");
6220 register_ber_oid_dissector("2.6.1.20.0", dissect_CirculationListIndicator_PDU, proto_p22, "id-rex-circulation-list-indicator");
6221 register_ber_oid_dissector("2.6.1.5.7", dissect_DistributionCodes_PDU, proto_p22, "id-hex-distribution-codes");
6222 register_ber_oid_dissector("2.6.1.5.8", dissect_ExtendedSubject_PDU, proto_p22, "id-hex-extended-subject");
6223 register_ber_oid_dissector("2.6.1.5.9", dissect_InformationCategories_PDU, proto_p22, "id-hex-information-categories");
6224 register_ber_oid_dissector("2.6.1.5.10", dissect_ManualHandlingInstructions_PDU, proto_p22, "id-hex-manual-handling-instructions");
6225 register_ber_oid_dissector("2.6.1.5.11", dissect_OriginatorsReference_PDU, proto_p22, "id-hex-originators-reference");
6226 register_ber_oid_dissector("2.6.1.5.12", dissect_PrecedencePolicyIdentifier_PDU, proto_p22, "id-hex-precedence-policy-id");
6227 register_ber_oid_dissector("2.6.1.20.1", dissect_Precedence_PDU, proto_p22, "id-rex-precedence");
6228 register_ber_oid_dissector("2.6.1.4.0", dissect_IA5TextData_PDU, proto_p22, "id-et-ia5-text");
6229 register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_p22, "id-ep-ia5-text");
6230 register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_p22, "id-et-g3-facsimile");
6231 register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_p22, "id-ep-g3-facsimile");
6232 register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_p22, "id-et-g4-class1");
6233 register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_p22, "id-et-teletex");
6234 register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_p22, "id-ep-teletex");
6235 register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_p22, "id-et-videotex");
6236 register_ber_oid_dissector("2.6.1.11.5", dissect_VideotexParameters_PDU, proto_p22, "id-ep-videotex");
6237 register_ber_oid_dissector("2.6.1.4.6", dissect_EncryptedData_PDU, proto_p22, "id-et-encrypted");
6238 register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_p22, "id-ep-encrypted");
6239 register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_p22, "id-et-message");
6240 register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_p22, "id-ep-message");
6241 register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_p22, "id-et-mixed-mode");
6242 register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_p22, "id-et-bilaterally-defined");
6243 register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_p22, "id-ep-general-text");
6244 register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_p22, "id-et-general-text");
6245 register_ber_oid_dissector("2.6.1.11.12", dissect_FileTransferParameters_PDU, proto_p22, "id-ep-file-transfer");
6246 register_ber_oid_dissector("2.6.1.4.12", dissect_FileTransferData_PDU, proto_p22, "id-et-file-transfer");
6247 register_ber_oid_dissector("2.6.1.11.15", dissect_MessageParameters_PDU, proto_p22, "id-ep-notification");
6248 register_ber_oid_dissector("2.6.1.4.15", dissect_IPN_PDU, proto_p22, "id-et-notification");
6249 register_ber_oid_dissector("2.6.1.11.16", dissect_VoiceParameters_PDU, proto_p22, "id-ep-voice");
6250 register_ber_oid_dissector("2.6.1.4.16", dissect_VoiceData_PDU, proto_p22, "id-et-voice");
6251 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.1", dissect_ForwardedContentParameters_PDU, proto_p22, "id-ep-content-p22");
6252 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.1", dissect_InformationObject_PDU, proto_p22, "id-et-content-p22");
6253 register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_p22, "id-ep-content-p2");
6254 register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_p22, "id-et-content-p2");
6255 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");
6256 register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_p22, "id-sat-ipm-entry-type");
6257 register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_p22, "id-sat-ipm-synopsis");
6258 register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_p22, "id-sat-body-parts-summary");
6259 register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_p22, "id-hat-heading");
6260 register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_p22, "id-hat-this-ipm");
6261 register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_p22, "id-hat-originator");
6262 register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_p22, "id-hat-replied-to-IPM");
6263 register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_p22, "id-hat-subject");
6264 register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_p22, "id-hat-expiry-time");
6265 register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_p22, "id-hat-reply-time");
6266 register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_p22, "id-hat-importance");
6267 register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_p22, "id-hat-sensitivity");
6268 register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_p22, "id-hat-auto-forwarded");
6269 register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_p22, "id-hat-authorizing-users");
6270 register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_p22, "id-hat-primary-recipients");
6271 register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_p22, "id-hat-copy-recipients");
6272 register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_p22, "id-hat-blind-copy-recipients");
6273 register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_p22, "id-hat-obsoleted-IPMs");
6274 register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_p22, "id-hat-related-IPMs");
6275 register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_p22, "id-hat-reply-recipients");
6276 register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_p22, "id-hat-incomplete-copy");
6277 register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_p22, "id-hat-languages");
6278 register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_p22, "id-hat-rn-requestors");
6279 register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_p22, "id-hat-nrn-requestors");
6280 register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_p22, "id-hat-reply-requestors");
6281 register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_p22, "id-hat-auto-submitted");
6282 register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_p22, "id-hat-body-part-signatures");
6283 register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_p22, "id-hat-ipm-security-label");
6284 register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_p22, "id-hat-body-part-security-label");
6285 register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_p22, "id-hat-body-part-encryption-token");
6286 register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_p22, "id-hat-authorization-time");
6287 register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_p22, "id-hat-circulation-list-recipients");
6288 register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_p22, "id-hat-distribution-codes");
6289 register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_p22, "id-hat-extended-subject");
6290 register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_p22, "id-hat-information-category");
6291 register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_p22, "id-hat-manual-handling-instructions");
6292 register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_p22, "id-hat-originators-reference");
6293 register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_p22, "id-hat-precedence-policy-id");
6294 register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_p22, "id-hat-forwarded-content-token");
6295 register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_p22, "id-hat-precedence");
6296 register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_p22, "id-hat-body-part-signature-verification-status");
6297 register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_p22, "id-bat-body");
6298 register_ber_oid_dissector("2.6.1.13.0", dissect_CorrelatedDeliveredIPNs_PDU, proto_p22, "id-cat-correlated-delivered-ipns");
6299 register_ber_oid_dissector("2.6.1.13.1", dissect_CorrelatedDeliveredReplies_PDU, proto_p22, "id-cat-correlated-delivered-replies");
6300 register_ber_oid_dissector("2.6.1.13.2", dissect_DeliveredIPNStatus_PDU, proto_p22, "id-cat-delivered-ipn-summary");
6301 register_ber_oid_dissector("2.6.1.13.3", dissect_DeliveredReplyStatus_PDU, proto_p22, "id-cat-delivered-replies-summary");
6302 register_ber_oid_dissector("2.6.1.13.7", dissect_IPMLocation_PDU, proto_p22, "id-cat-obsoleted-ipms");
6303 register_ber_oid_dissector("2.6.1.13.14", dissect_SubmittedIPNStatus_PDU, proto_p22, "id-cat-submitted-ipn-status");
6304 register_ber_oid_dissector("2.6.1.13.16", dissect_SubmittedReplyStatus_PDU, proto_p22, "id-cat-submitted-reply-status");
6305 register_ber_oid_dissector("2.6.1.13.18", dissect_RecipientCategory_PDU, proto_p22, "id-cat-recipient-category");
6306 register_ber_oid_dissector("2.6.1.18.0", dissect_RecipientSecurityRequest_PDU, proto_p22, "id-sec-ipm-security-request");
6307 register_ber_oid_dissector("2.6.1.18.1", dissect_IpnSecurityResponse_PDU, proto_p22, "id-sec-security-common-fields");
6310 /*--- End of included file: packet-p22-dis-tab.c ---*/
6311 #line 144 "../../asn1/p22/packet-p22-template.c"
6313 register_ber_oid_dissector("2.6.1.10.0", dissect_p22, proto_p22, "InterPersonal Message (1984)");
6314 register_ber_oid_dissector("2.6.1.10.1", dissect_p22, proto_p22, "InterPersonal Message (1988)");