MSWSP: add two more Property Sets
[wireshark-wip.git] / epan / dissectors / packet-p772.c
blobe2dae421b8e91dde602e3c4ae96afd2b89f578c3
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-p772.c */
4 /* ../../tools/asn2wrs.py -b -C -p p772 -c ./p772.cnf -s ./packet-p772-template -D . -O ../../epan/dissectors MMSAbstractService.asn MMSInformationObjects.asn MMSOtherNotificationTypeExtensions.asn MMSObjectIdentifiers.asn MMSHeadingExtensions.asn MMSUpperBounds.asn MMSExtendedBodyPartTypes.asn MMSPerRecipientSpecifierExtensions.asn */
6 /* Input file: packet-p772-template.c */
8 #line 1 "../../asn1/p772/packet-p772-template.c"
9 /* packet-p772.c
10 * Routines for STANAG 4406 (X.400 Military Message Extensions) 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/asn1.h>
40 #include "packet-ber.h"
42 #include "packet-x509if.h"
44 #include "packet-p772.h"
45 #include "packet-p1.h"
46 #include "packet-p22.h"
48 #define PNAME "STANAG 4406 Message"
49 #define PSNAME "P772"
50 #define PFNAME "p772"
52 /* Initialize the protocol and registered fields */
53 static int proto_p772 = -1;
56 /*--- Included file: packet-p772-val.h ---*/
57 #line 1 "../../asn1/p772/packet-p772-val.h"
58 #define id_mmhs "1.3.26.0.4406.0"
59 #define id_mod id_mmhs".0"
60 #define id_mm id_mmhs".2"
61 #define id_hat id_mmhs".3"
62 #define id_mcont id_mmhs".4"
63 #define id_policy id_mmhs".5"
64 #define id_cat id_mmhs".6"
65 #define id_et id_mmhs".7"
66 #define id_mmts id_mmhs".8"
67 #define id_nat id_mmhs".9"
68 #define id_mot id_mmhs".10"
69 #define id_mpt id_mmhs".11"
70 #define id_ref id_mmhs".12"
71 #define id_informationlabel id_mmhs".13"
72 #define id_mod_upper_bounds id_mod".0"
73 #define id_mod_mms id_mod".1"
74 #define id_mod_functional_objects id_mod".2"
75 #define id_mod_abstract_service id_mod".3"
76 #define id_mod_heading_extension id_mod".6"
77 #define id_mod_extended_body_part_types id_mod".7"
78 #define id_mod_message_store_attributes id_mod".8"
79 #define id_mod_per_recipient_specifier_extensions id_mod".11"
80 #define id_mod_other_notification_type_extensions id_mod".12"
81 #define id_mot_mmme id_mot".0"
82 #define id_mot_mms_user id_mot".1"
83 #define id_mot_mms id_mot".2"
84 #define id_mot_mms_ua id_mot".3"
85 #define id_mot_mms_ms id_mot".4"
86 #define id_mot_acp127au id_mot".5"
87 #define id_mot_pdau id_mot".6"
88 #define id_mpt_origination id_mpt".0"
89 #define id_mpt_reception id_mpt".1"
90 #define id_mpt_management id_mpt".2"
91 #define id_ref_primary id_ref".0"
92 #define id_ref_secondary id_ref".1"
93 #define id_nato_mmhs_et_adatp3 id_et".0"
94 #define id_nato_mmhs_et_corrections id_et".1"
95 #define id_nato_mmhs_et_adatp3_parameters id_et".2"
96 #define id_nato_mmhs_et_corrections_parameters id_et".3"
97 #define id_nato_mmhs_et_forwarded_encrypted id_et".6"
98 #define id_nato_mmhs_et_forwarded_encrypted_parameters id_et".7"
99 #define id_nato_mmhs_et_mm_message id_et".9"
100 #define id_nato_mmhs_et_mm_message_parameters id_et".10"
101 #define id_nato_mmhs_et_mm_acp127data id_et".12"
102 #define id_nato_mmhs_et_mm_acp127data_parameters id_et".13"
103 #define id_nato_mmhs_mm_primary_precedence id_mm".0"
104 #define id_nato_mmhs_mm_copy_precedence id_mm".1"
105 #define id_nato_mmhs_mm_message_type id_mm".2"
106 #define id_nato_mmhs_mm_address_list_indicator id_mm".3"
107 #define id_nato_mmhs_mm_exempted_address id_mm".4"
108 #define id_nato_mmhs_mm_extended_authorisation_info id_mm".5"
109 #define id_nato_mmhs_mm_distribution_codes id_mm".6"
110 #define id_nato_mmhs_mm_handling_instructions id_mm".7"
111 #define id_nato_mmhs_mm_message_instructions id_mm".8"
112 #define id_nato_mmhs_mm_codress_message id_mm".9"
113 #define id_nato_mmhs_mm_originator_reference id_mm".10"
114 #define id_nato_mmhs_mm_other_recipients_indicator id_mm".11"
115 #define id_nato_mmhs_mm_pilot_forwarding_info id_mm".12"
116 #define id_nato_mmhs_mm_acp127_message_identifier id_mm".13"
117 #define id_nato_mmhs_mm_originator_plad id_mm".14"
118 #define id_nato_mmhs_mm_information_labels id_mm".17"
119 #define id_nato_mmhs_mm_acp127_notification_request id_mm".15"
120 #define id_nato_mmhs_mm_acp127_notification_response id_mm".16"
121 #define id_nato_mmhs_hat_primary_precedence id_hat".0"
122 #define id_nato_mmhs_hat_copy_precedence id_hat".1"
123 #define id_nato_mmhs_hat_message_type id_hat".2"
124 #define id_nato_mmhs_hat_address_list_indicator id_hat".3"
125 #define id_nato_mmhs_hat_exempted_address id_hat".4"
126 #define id_nato_mmhs_hat_extended_authorisation_info id_hat".5"
127 #define id_nato_mmhs_hat_distribution_codes id_hat".6"
128 #define id_nato_mmhs_hat_handling_instructions id_hat".7"
129 #define id_nato_mmhs_hat_message_instructions id_hat".8"
130 #define id_nato_mmhs_hat_codress_message id_hat".9"
131 #define id_nato_mmhs_hat_originator_reference id_hat".10"
132 #define id_nato_mmhs_hat_other_recipients_indicator id_hat".11"
133 #define id_nato_mmhs_hat_pilot_forwarding_info id_hat".12"
134 #define id_nato_mmhs_hat_acp127_message_identifier id_hat".13"
135 #define id_nato_mmhs_hat_originator_plad id_hat".14"
136 #define id_nato_mmhs_hat_acp127_notification_request id_hat".15"
137 #define id_nato_mmhs_hat_sic_codes id_hat".16"
138 #define id_nato_mmhs_hat_distribution_extensions id_hat".17"
139 #define id_nato_mmhs_hat_body_part_information_label id_hat".18"
140 #define id_nato_mmhs_hat_security_information_labels id_hat".19"
141 #define id_nato_mmhs_cat id_cat".0"
142 #define id_nato_mmhs_cat_atomal id_cat".1"
143 #define id_nato_mmhs_cat_cryptosecurity id_cat".2"
144 #define id_nato_mmhs_cat_specialhandlingintel id_cat".3"
145 #define id_nato_mmhs_cat_ussiopesi id_cat".4"
146 #define id_nato_mmhs_cat_eyesonly id_cat".5"
147 #define id_nato_mmhs_cat_exclusive id_cat".6"
148 #define id_nato_mmhs_cat_information_label id_cat".7"
149 #define id_nato_mmhs_informationlabel_atomal id_informationlabel".1"
150 #define id_nato_mmhs_informationlabel_cryptosecurity id_informationlabel".2"
151 #define id_nato_mmhs_informationlabel_specialhandlingintel id_informationlabel".3"
152 #define id_nato_mmhs_informationlabel_ussiopesi id_informationlabel".4"
153 #define id_nato_mmhs_informationlabel_eyesonly id_informationlabel".5"
154 #define id_nato_mmhs_informationlabel_exclusive id_informationlabel".6"
155 #define id_nato_mmhs_nat_acp127_notification_response id_nat".0"
156 #define id_mct_p772 id_mcont".1"
157 #define ub_military_string 69
158 #define ub_military_number_of_sics 8
159 #define lb_military_sic 3
160 #define ub_military_sic 8
161 #define ub_military_bigstring 128
162 #define ub_data_size 65535
164 /*--- End of included file: packet-p772-val.h ---*/
165 #line 48 "../../asn1/p772/packet-p772-template.c"
168 /*--- Included file: packet-p772-hf.c ---*/
169 #line 1 "../../asn1/p772/packet-p772-hf.c"
170 static int hf_p772_InformationObject_PDU = -1; /* InformationObject */
171 static int hf_p772_Acp127NotificationResponse_PDU = -1; /* Acp127NotificationResponse */
172 static int hf_p772_ExemptedAddressSeq_PDU = -1; /* ExemptedAddressSeq */
173 static int hf_p772_ExtendedAuthorisationInfo_PDU = -1; /* ExtendedAuthorisationInfo */
174 static int hf_p772_DistributionCodes_PDU = -1; /* DistributionCodes */
175 static int hf_p772_HandlingInstructions_PDU = -1; /* HandlingInstructions */
176 static int hf_p772_MessageInstructions_PDU = -1; /* MessageInstructions */
177 static int hf_p772_CodressMessage_PDU = -1; /* CodressMessage */
178 static int hf_p772_OriginatorReference_PDU = -1; /* OriginatorReference */
179 static int hf_p772_PrimaryPrecedence_PDU = -1; /* PrimaryPrecedence */
180 static int hf_p772_CopyPrecedence_PDU = -1; /* CopyPrecedence */
181 static int hf_p772_MessageType_PDU = -1; /* MessageType */
182 static int hf_p772_AddressListDesignatorSeq_PDU = -1; /* AddressListDesignatorSeq */
183 static int hf_p772_OtherRecipientDesignatorSeq_PDU = -1; /* OtherRecipientDesignatorSeq */
184 static int hf_p772_PilotInformationSeq_PDU = -1; /* PilotInformationSeq */
185 static int hf_p772_Acp127MessageIdentifier_PDU = -1; /* Acp127MessageIdentifier */
186 static int hf_p772_OriginatorPlad_PDU = -1; /* OriginatorPlad */
187 static int hf_p772_SecurityInformationLabels_PDU = -1; /* SecurityInformationLabels */
188 static int hf_p772_PriorityLevelQualifier_PDU = -1; /* PriorityLevelQualifier */
189 static int hf_p772_ADatP3Parameters_PDU = -1; /* ADatP3Parameters */
190 static int hf_p772_ADatP3Data_PDU = -1; /* ADatP3Data */
191 static int hf_p772_CorrectionsParameters_PDU = -1; /* CorrectionsParameters */
192 static int hf_p772_CorrectionsData_PDU = -1; /* CorrectionsData */
193 static int hf_p772_ForwardedEncryptedParameters_PDU = -1; /* ForwardedEncryptedParameters */
194 static int hf_p772_ForwardedEncryptedData_PDU = -1; /* ForwardedEncryptedData */
195 static int hf_p772_MMMessageParameters_PDU = -1; /* MMMessageParameters */
196 static int hf_p772_MMMessageData_PDU = -1; /* MMMessageData */
197 static int hf_p772_ACP127DataParameters_PDU = -1; /* ACP127DataParameters */
198 static int hf_p772_ACP127DataData_PDU = -1; /* ACP127DataData */
199 static int hf_p772_Acp127NotificationType_PDU = -1; /* Acp127NotificationType */
200 static int hf_p772_mm = -1; /* IPM */
201 static int hf_p772_mn = -1; /* IPN */
202 static int hf_p772_acp127_notification_type = -1; /* Acp127NotificationType */
203 static int hf_p772_receipt_time = -1; /* ReceiptTimeField */
204 static int hf_p772_addressListIndicator = -1; /* AddressListIndicator */
205 static int hf_p772_acp127_recipient = -1; /* Acp127Recipient */
206 static int hf_p772_acp127_supp_info = -1; /* Acp127SuppInfo */
207 static int hf_p772_AddressListIndicator_item = -1; /* AddressListDesignator */
208 static int hf_p772_ExemptedAddressSeq_item = -1; /* ExemptedAddress */
209 static int hf_p772_sics = -1; /* SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic */
210 static int hf_p772_sics_item = -1; /* Sic */
211 static int hf_p772_dist_Extensions = -1; /* SEQUENCE_OF_DistributionExtensionField */
212 static int hf_p772_dist_Extensions_item = -1; /* DistributionExtensionField */
213 static int hf_p772_dist_type = -1; /* OBJECT_IDENTIFIER */
214 static int hf_p772_dist_value = -1; /* T_dist_value */
215 static int hf_p772_HandlingInstructions_item = -1; /* MilitaryString */
216 static int hf_p772_MessageInstructions_item = -1; /* MilitaryString */
217 static int hf_p772_message_type_type = -1; /* TypeMessage */
218 static int hf_p772_identifier = -1; /* MessageIdentifier */
219 static int hf_p772_AddressListDesignatorSeq_item = -1; /* AddressListDesignator */
220 static int hf_p772_address_list_type = -1; /* AddressListType */
221 static int hf_p772_listName = -1; /* ORDescriptor */
222 static int hf_p772_notificationRequest = -1; /* AddressListRequest */
223 static int hf_p772_replyRequest = -1; /* AddressListRequest */
224 static int hf_p772_OtherRecipientDesignatorSeq_item = -1; /* OtherRecipientDesignator */
225 static int hf_p772_other_recipient_type = -1; /* OtherRecipientType */
226 static int hf_p772_designator = -1; /* MilitaryString */
227 static int hf_p772_PilotInformationSeq_item = -1; /* PilotInformation */
228 static int hf_p772_pilotPrecedence = -1; /* MMHSPrecedence */
229 static int hf_p772_pilotRecipient = -1; /* SEQUENCE_OF_ORDescriptor */
230 static int hf_p772_pilotRecipient_item = -1; /* ORDescriptor */
231 static int hf_p772_pilotSecurity = -1; /* SecurityLabel */
232 static int hf_p772_pilotHandling = -1; /* SEQUENCE_OF_MilitaryString */
233 static int hf_p772_pilotHandling_item = -1; /* MilitaryString */
234 static int hf_p772_content_security_label = -1; /* SecurityLabel */
235 static int hf_p772_heading_security_label = -1; /* SecurityLabel */
236 static int hf_p772_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */
237 static int hf_p772_body_part_security_labels_item = -1; /* BodyPartSecurityLabel */
238 static int hf_p772_body_part_security_label = -1; /* SecurityLabel */
239 static int hf_p772_body_part_sequence_number = -1; /* BodyPartSequenceNumber */
240 static int hf_p772_lineOriented = -1; /* IA5String */
241 static int hf_p772_setOriented = -1; /* T_setOriented */
242 static int hf_p772_setOriented_item = -1; /* IA5String */
243 static int hf_p772_delivery_time = -1; /* MessageDeliveryTime */
244 static int hf_p772_delivery_envelope = -1; /* OtherMessageDeliveryFields */
245 /* named bits */
246 static int hf_p772_Acp127NotificationType_acp127_nn = -1;
247 static int hf_p772_Acp127NotificationType_acp127_pn = -1;
248 static int hf_p772_Acp127NotificationType_acp127_tn = -1;
250 /*--- End of included file: packet-p772-hf.c ---*/
251 #line 50 "../../asn1/p772/packet-p772-template.c"
253 /* Initialize the subtree pointers */
254 static gint ett_p772 = -1;
256 /*--- Included file: packet-p772-ett.c ---*/
257 #line 1 "../../asn1/p772/packet-p772-ett.c"
258 static gint ett_p772_InformationObject = -1;
259 static gint ett_p772_Acp127NotificationResponse = -1;
260 static gint ett_p772_AddressListIndicator = -1;
261 static gint ett_p772_ExemptedAddressSeq = -1;
262 static gint ett_p772_DistributionCodes = -1;
263 static gint ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic = -1;
264 static gint ett_p772_SEQUENCE_OF_DistributionExtensionField = -1;
265 static gint ett_p772_DistributionExtensionField = -1;
266 static gint ett_p772_HandlingInstructions = -1;
267 static gint ett_p772_MessageInstructions = -1;
268 static gint ett_p772_MessageType = -1;
269 static gint ett_p772_AddressListDesignatorSeq = -1;
270 static gint ett_p772_AddressListDesignator = -1;
271 static gint ett_p772_OtherRecipientDesignatorSeq = -1;
272 static gint ett_p772_OtherRecipientDesignator = -1;
273 static gint ett_p772_PilotInformationSeq = -1;
274 static gint ett_p772_PilotInformation = -1;
275 static gint ett_p772_SEQUENCE_OF_ORDescriptor = -1;
276 static gint ett_p772_SEQUENCE_OF_MilitaryString = -1;
277 static gint ett_p772_SecurityInformationLabels = -1;
278 static gint ett_p772_SEQUENCE_OF_BodyPartSecurityLabel = -1;
279 static gint ett_p772_BodyPartSecurityLabel = -1;
280 static gint ett_p772_ADatP3Data = -1;
281 static gint ett_p772_T_setOriented = -1;
282 static gint ett_p772_ForwardedEncryptedParameters = -1;
283 static gint ett_p772_MMMessageParameters = -1;
284 static gint ett_p772_Acp127NotificationType = -1;
286 /*--- End of included file: packet-p772-ett.c ---*/
287 #line 54 "../../asn1/p772/packet-p772-template.c"
290 /*--- Included file: packet-p772-fn.c ---*/
291 #line 1 "../../asn1/p772/packet-p772-fn.c"
293 static const value_string p772_InformationObject_vals[] = {
294 { 0, "mm" },
295 { 1, "mn" },
296 { 0, NULL }
299 static const ber_choice_t InformationObject_choice[] = {
300 { 0, &hf_p772_mm , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p22_IPM },
301 { 1, &hf_p772_mn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_IPN },
302 { 0, NULL, 0, 0, 0, NULL }
305 static int
306 dissect_p772_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_) {
307 offset = dissect_ber_choice(actx, tree, tvb, offset,
308 InformationObject_choice, hf_index, ett_p772_InformationObject,
309 NULL);
311 return offset;
315 static const asn_namedbit Acp127NotificationType_bits[] = {
316 { 0, &hf_p772_Acp127NotificationType_acp127_nn, -1, -1, "acp127-nn", NULL },
317 { 1, &hf_p772_Acp127NotificationType_acp127_pn, -1, -1, "acp127-pn", NULL },
318 { 2, &hf_p772_Acp127NotificationType_acp127_tn, -1, -1, "acp127-tn", NULL },
319 { 0, NULL, 0, 0, NULL, NULL }
322 static int
323 dissect_p772_Acp127NotificationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
324 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
325 Acp127NotificationType_bits, hf_index, ett_p772_Acp127NotificationType,
326 NULL);
328 return offset;
332 static const value_string p772_AddressListType_vals[] = {
333 { 0, "primaryAddressList" },
334 { 1, "copyAddressList" },
335 { 0, NULL }
339 static int
340 dissect_p772_AddressListType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
341 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
342 NULL);
344 return offset;
348 static const value_string p772_AddressListRequest_vals[] = {
349 { 0, "action" },
350 { 1, "info" },
351 { 2, "both" },
352 { 0, NULL }
356 static int
357 dissect_p772_AddressListRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
358 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
359 NULL);
361 return offset;
365 static const ber_sequence_t AddressListDesignator_set[] = {
366 { &hf_p772_address_list_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_AddressListType },
367 { &hf_p772_listName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ORDescriptor },
368 { &hf_p772_notificationRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListRequest },
369 { &hf_p772_replyRequest , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListRequest },
370 { NULL, 0, 0, 0, NULL }
373 static int
374 dissect_p772_AddressListDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
375 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
376 AddressListDesignator_set, hf_index, ett_p772_AddressListDesignator);
378 return offset;
382 static const ber_sequence_t AddressListIndicator_sequence_of[1] = {
383 { &hf_p772_AddressListIndicator_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_AddressListDesignator },
386 static int
387 dissect_p772_AddressListIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
388 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
389 AddressListIndicator_sequence_of, hf_index, ett_p772_AddressListIndicator);
391 return offset;
396 static int
397 dissect_p772_Acp127Recipient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
398 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
399 actx, tree, tvb, offset,
400 1, ub_military_bigstring, hf_index, NULL);
402 return offset;
407 static int
408 dissect_p772_Acp127SuppInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
409 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
410 actx, tree, tvb, offset,
411 1, ub_military_bigstring, hf_index, NULL);
413 return offset;
417 static const ber_sequence_t Acp127NotificationResponse_set[] = {
418 { &hf_p772_acp127_notification_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_Acp127NotificationType },
419 { &hf_p772_receipt_time , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p22_ReceiptTimeField },
420 { &hf_p772_addressListIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_AddressListIndicator },
421 { &hf_p772_acp127_recipient, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_Acp127Recipient },
422 { &hf_p772_acp127_supp_info, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_Acp127SuppInfo },
423 { NULL, 0, 0, 0, NULL }
426 static int
427 dissect_p772_Acp127NotificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
428 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
429 Acp127NotificationResponse_set, hf_index, ett_p772_Acp127NotificationResponse);
431 return offset;
436 static int
437 dissect_p772_ExemptedAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
438 offset = dissect_p22_ORDescriptor(implicit_tag, tvb, offset, actx, tree, hf_index);
440 return offset;
444 static const ber_sequence_t ExemptedAddressSeq_sequence_of[1] = {
445 { &hf_p772_ExemptedAddressSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_ExemptedAddress },
448 static int
449 dissect_p772_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
450 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
451 ExemptedAddressSeq_sequence_of, hf_index, ett_p772_ExemptedAddressSeq);
453 return offset;
458 static int
459 dissect_p772_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
460 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
462 return offset;
467 static int
468 dissect_p772_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
469 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
470 actx, tree, tvb, offset,
471 lb_military_sic, ub_military_sic, hf_index, NULL);
473 return offset;
477 static const ber_sequence_t SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of[1] = {
478 { &hf_p772_sics_item , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_Sic },
481 static int
482 dissect_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
483 offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
484 1, ub_military_number_of_sics, SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic_sequence_of, hf_index, ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic);
486 return offset;
491 static int
492 dissect_p772_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_) {
493 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
495 return offset;
500 static int
501 dissect_p772_T_dist_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_) {
502 #line 99 "../../asn1/p772/p772.cnf"
503 /* XXX: not implemented */
504 offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
508 return offset;
512 static const ber_sequence_t DistributionExtensionField_sequence[] = {
513 { &hf_p772_dist_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p772_OBJECT_IDENTIFIER },
514 { &hf_p772_dist_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p772_T_dist_value },
515 { NULL, 0, 0, 0, NULL }
518 static int
519 dissect_p772_DistributionExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
520 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
521 DistributionExtensionField_sequence, hf_index, ett_p772_DistributionExtensionField);
523 return offset;
527 static const ber_sequence_t SEQUENCE_OF_DistributionExtensionField_sequence_of[1] = {
528 { &hf_p772_dist_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p772_DistributionExtensionField },
531 static int
532 dissect_p772_SEQUENCE_OF_DistributionExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
533 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
534 SEQUENCE_OF_DistributionExtensionField_sequence_of, hf_index, ett_p772_SEQUENCE_OF_DistributionExtensionField);
536 return offset;
540 static const ber_sequence_t DistributionCodes_set[] = {
541 { &hf_p772_sics , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic },
542 { &hf_p772_dist_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_DistributionExtensionField },
543 { NULL, 0, 0, 0, NULL }
546 static int
547 dissect_p772_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_) {
548 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
549 DistributionCodes_set, hf_index, ett_p772_DistributionCodes);
551 return offset;
556 static int
557 dissect_p772_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
558 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
559 actx, tree, tvb, offset,
560 1, ub_military_string, hf_index, NULL);
562 return offset;
566 static const ber_sequence_t HandlingInstructions_sequence_of[1] = {
567 { &hf_p772_HandlingInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString },
570 static int
571 dissect_p772_HandlingInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
572 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
573 HandlingInstructions_sequence_of, hf_index, ett_p772_HandlingInstructions);
575 return offset;
579 static const ber_sequence_t MessageInstructions_sequence_of[1] = {
580 { &hf_p772_MessageInstructions_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString },
583 static int
584 dissect_p772_MessageInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
585 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
586 MessageInstructions_sequence_of, hf_index, ett_p772_MessageInstructions);
588 return offset;
593 static int
594 dissect_p772_CodressMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
595 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
596 NULL);
598 return offset;
603 static int
604 dissect_p772_OriginatorReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
605 offset = dissect_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index);
607 return offset;
611 static const value_string p772_MMHSPrecedence_vals[] = {
612 { 0, "deferred" },
613 { 1, "routine" },
614 { 2, "priority" },
615 { 3, "immediate" },
616 { 4, "flash" },
617 { 5, "override" },
618 { 16, "ecp" },
619 { 17, "critic" },
620 { 18, "override" },
621 { 0, NULL }
625 static int
626 dissect_p772_MMHSPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
627 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
628 NULL);
630 return offset;
634 static const value_string p772_PrimaryPrecedence_vals[] = {
635 { 0, "deferred" },
636 { 1, "routine" },
637 { 2, "priority" },
638 { 3, "immediate" },
639 { 4, "flash" },
640 { 5, "override" },
641 { 16, "ecp" },
642 { 17, "critic" },
643 { 18, "override" },
644 { 0, NULL }
648 static int
649 dissect_p772_PrimaryPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
650 #line 105 "../../asn1/p772/p772.cnf"
651 int precedence = -1;
652 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
653 &precedence);
655 if(precedence != -1)
656 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (primary=%s)", val_to_str(precedence, p772_PrimaryPrecedence_vals, "precedence(%d)"));
660 return offset;
664 static const value_string p772_CopyPrecedence_vals[] = {
665 { 0, "deferred" },
666 { 1, "routine" },
667 { 2, "priority" },
668 { 3, "immediate" },
669 { 4, "flash" },
670 { 5, "override" },
671 { 16, "ecp" },
672 { 17, "critic" },
673 { 18, "override" },
674 { 0, NULL }
678 static int
679 dissect_p772_CopyPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
680 #line 113 "../../asn1/p772/p772.cnf"
681 int precedence = -1;
682 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
683 &precedence);
685 if(precedence != -1)
686 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (copy=%s)", val_to_str(precedence, p772_CopyPrecedence_vals, "precedence(%d)"));
689 return offset;
693 static const value_string p772_TypeMessage_vals[] = {
694 { 0, "exercise" },
695 { 1, "operation" },
696 { 2, "project" },
697 { 3, "drill" },
698 { 0, NULL }
702 static int
703 dissect_p772_TypeMessage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
704 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
705 NULL);
707 return offset;
712 static int
713 dissect_p772_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
714 offset = dissect_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index);
716 return offset;
720 static const ber_sequence_t MessageType_set[] = {
721 { &hf_p772_message_type_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_TypeMessage },
722 { &hf_p772_identifier , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_MessageIdentifier },
723 { NULL, 0, 0, 0, NULL }
726 static int
727 dissect_p772_MessageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
728 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
729 MessageType_set, hf_index, ett_p772_MessageType);
731 return offset;
735 static const ber_sequence_t AddressListDesignatorSeq_sequence_of[1] = {
736 { &hf_p772_AddressListDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_AddressListDesignator },
739 static int
740 dissect_p772_AddressListDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
741 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
742 AddressListDesignatorSeq_sequence_of, hf_index, ett_p772_AddressListDesignatorSeq);
744 return offset;
748 static const value_string p772_OtherRecipientType_vals[] = {
749 { 0, "primary" },
750 { 1, "copy" },
751 { 0, NULL }
755 static int
756 dissect_p772_OtherRecipientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
757 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
758 NULL);
760 return offset;
764 static const ber_sequence_t OtherRecipientDesignator_set[] = {
765 { &hf_p772_other_recipient_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_OtherRecipientType },
766 { &hf_p772_designator , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p772_MilitaryString },
767 { NULL, 0, 0, 0, NULL }
770 static int
771 dissect_p772_OtherRecipientDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
772 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
773 OtherRecipientDesignator_set, hf_index, ett_p772_OtherRecipientDesignator);
775 return offset;
779 static const ber_sequence_t OtherRecipientDesignatorSeq_sequence_of[1] = {
780 { &hf_p772_OtherRecipientDesignatorSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_OtherRecipientDesignator },
783 static int
784 dissect_p772_OtherRecipientDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
785 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
786 OtherRecipientDesignatorSeq_sequence_of, hf_index, ett_p772_OtherRecipientDesignatorSeq);
788 return offset;
792 static const ber_sequence_t SEQUENCE_OF_ORDescriptor_sequence_of[1] = {
793 { &hf_p772_pilotRecipient_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p22_ORDescriptor },
796 static int
797 dissect_p772_SEQUENCE_OF_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_) {
798 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
799 SEQUENCE_OF_ORDescriptor_sequence_of, hf_index, ett_p772_SEQUENCE_OF_ORDescriptor);
801 return offset;
805 static const ber_sequence_t SEQUENCE_OF_MilitaryString_sequence_of[1] = {
806 { &hf_p772_pilotHandling_item, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_p772_MilitaryString },
809 static int
810 dissect_p772_SEQUENCE_OF_MilitaryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
811 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
812 SEQUENCE_OF_MilitaryString_sequence_of, hf_index, ett_p772_SEQUENCE_OF_MilitaryString);
814 return offset;
818 static const ber_sequence_t PilotInformation_sequence[] = {
819 { &hf_p772_pilotPrecedence, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_MMHSPrecedence },
820 { &hf_p772_pilotRecipient , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_ORDescriptor },
821 { &hf_p772_pilotSecurity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
822 { &hf_p772_pilotHandling , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_MilitaryString },
823 { NULL, 0, 0, 0, NULL }
826 static int
827 dissect_p772_PilotInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
828 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
829 PilotInformation_sequence, hf_index, ett_p772_PilotInformation);
831 return offset;
835 static const ber_sequence_t PilotInformationSeq_sequence_of[1] = {
836 { &hf_p772_PilotInformationSeq_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_p772_PilotInformation },
839 static int
840 dissect_p772_PilotInformationSeq(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
841 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
842 PilotInformationSeq_sequence_of, hf_index, ett_p772_PilotInformationSeq);
844 return offset;
849 static int
850 dissect_p772_Acp127MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
851 offset = dissect_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index);
853 return offset;
858 static int
859 dissect_p772_OriginatorPlad(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
860 offset = dissect_p772_MilitaryString(implicit_tag, tvb, offset, actx, tree, hf_index);
862 return offset;
867 static int
868 dissect_p772_BodyPartSequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
869 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
870 NULL);
872 return offset;
876 static const ber_sequence_t BodyPartSecurityLabel_set[] = {
877 { &hf_p772_body_part_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
878 { &hf_p772_body_part_sequence_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_BodyPartSequenceNumber },
879 { NULL, 0, 0, 0, NULL }
882 static int
883 dissect_p772_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_) {
884 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
885 BodyPartSecurityLabel_set, hf_index, ett_p772_BodyPartSecurityLabel);
887 return offset;
891 static const ber_sequence_t SEQUENCE_OF_BodyPartSecurityLabel_sequence_of[1] = {
892 { &hf_p772_body_part_security_labels_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_p772_BodyPartSecurityLabel },
895 static int
896 dissect_p772_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_) {
897 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
898 SEQUENCE_OF_BodyPartSecurityLabel_sequence_of, hf_index, ett_p772_SEQUENCE_OF_BodyPartSecurityLabel);
900 return offset;
904 static const ber_sequence_t SecurityInformationLabels_sequence[] = {
905 { &hf_p772_content_security_label, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
906 { &hf_p772_heading_security_label, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_SecurityLabel },
907 { &hf_p772_body_part_security_labels, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p772_SEQUENCE_OF_BodyPartSecurityLabel },
908 { NULL, 0, 0, 0, NULL }
911 static int
912 dissect_p772_SecurityInformationLabels(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
913 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
914 SecurityInformationLabels_sequence, hf_index, ett_p772_SecurityInformationLabels);
916 return offset;
920 static const value_string p772_PriorityLevelQualifier_vals[] = {
921 { 0, "low" },
922 { 1, "high" },
923 { 0, NULL }
927 static int
928 dissect_p772_PriorityLevelQualifier(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_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
930 NULL);
932 return offset;
937 static int
938 dissect_p772_ADatP3Parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
939 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
940 NULL);
942 return offset;
947 static int
948 dissect_p772_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_) {
949 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
950 actx, tree, tvb, offset, hf_index,
951 NULL);
953 return offset;
957 static const ber_sequence_t T_setOriented_sequence_of[1] = {
958 { &hf_p772_setOriented_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_p772_IA5String },
961 static int
962 dissect_p772_T_setOriented(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
963 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
964 T_setOriented_sequence_of, hf_index, ett_p772_T_setOriented);
966 return offset;
970 static const value_string p772_ADatP3Data_vals[] = {
971 { 0, "lineOriented" },
972 { 1, "setOriented" },
973 { 0, NULL }
976 static const ber_choice_t ADatP3Data_choice[] = {
977 { 0, &hf_p772_lineOriented , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p772_IA5String },
978 { 1, &hf_p772_setOriented , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p772_T_setOriented },
979 { 0, NULL, 0, 0, 0, NULL }
982 static int
983 dissect_p772_ADatP3Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
984 offset = dissect_ber_choice(actx, tree, tvb, offset,
985 ADatP3Data_choice, hf_index, ett_p772_ADatP3Data,
986 NULL);
988 return offset;
993 static int
994 dissect_p772_CorrectionsParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
995 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
996 NULL);
998 return offset;
1003 static int
1004 dissect_p772_CorrectionsData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1005 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1006 actx, tree, tvb, offset, hf_index,
1007 NULL);
1009 return offset;
1013 static const ber_sequence_t ForwardedEncryptedParameters_set[] = {
1014 { &hf_p772_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime },
1015 { &hf_p772_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields },
1016 { NULL, 0, 0, 0, NULL }
1019 static int
1020 dissect_p772_ForwardedEncryptedParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1021 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1022 ForwardedEncryptedParameters_set, hf_index, ett_p772_ForwardedEncryptedParameters);
1024 return offset;
1029 static int
1030 dissect_p772_ForwardedEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1031 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1032 NULL, hf_index, -1,
1033 NULL);
1035 return offset;
1039 static const ber_sequence_t MMMessageParameters_set[] = {
1040 { &hf_p772_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p1_MessageDeliveryTime },
1041 { &hf_p772_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p1_OtherMessageDeliveryFields },
1042 { NULL, 0, 0, 0, NULL }
1045 static int
1046 dissect_p772_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1047 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1048 MMMessageParameters_set, hf_index, ett_p772_MMMessageParameters);
1050 return offset;
1055 static int
1056 dissect_p772_MMMessageData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1057 offset = dissect_p22_IPM(implicit_tag, tvb, offset, actx, tree, hf_index);
1059 return offset;
1064 static int
1065 dissect_p772_ACP127DataParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1066 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1067 NULL);
1069 return offset;
1074 static int
1075 dissect_p772_ACP127DataData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1076 offset = dissect_ber_constrained_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1077 actx, tree, tvb, offset,
1078 1, ub_data_size, hf_index, NULL);
1080 return offset;
1083 /*--- PDUs ---*/
1085 static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1086 asn1_ctx_t asn1_ctx;
1087 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1088 dissect_p772_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_InformationObject_PDU);
1090 static void dissect_Acp127NotificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1091 asn1_ctx_t asn1_ctx;
1092 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1093 dissect_p772_Acp127NotificationResponse(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127NotificationResponse_PDU);
1095 static void dissect_ExemptedAddressSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1096 asn1_ctx_t asn1_ctx;
1097 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1098 dissect_p772_ExemptedAddressSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ExemptedAddressSeq_PDU);
1100 static void dissect_ExtendedAuthorisationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1101 asn1_ctx_t asn1_ctx;
1102 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1103 dissect_p772_ExtendedAuthorisationInfo(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ExtendedAuthorisationInfo_PDU);
1105 static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1106 asn1_ctx_t asn1_ctx;
1107 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1108 dissect_p772_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_DistributionCodes_PDU);
1110 static void dissect_HandlingInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1111 asn1_ctx_t asn1_ctx;
1112 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1113 dissect_p772_HandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_HandlingInstructions_PDU);
1115 static void dissect_MessageInstructions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1116 asn1_ctx_t asn1_ctx;
1117 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1118 dissect_p772_MessageInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MessageInstructions_PDU);
1120 static void dissect_CodressMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1121 asn1_ctx_t asn1_ctx;
1122 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1123 dissect_p772_CodressMessage(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CodressMessage_PDU);
1125 static void dissect_OriginatorReference_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1126 asn1_ctx_t asn1_ctx;
1127 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1128 dissect_p772_OriginatorReference(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OriginatorReference_PDU);
1130 static void dissect_PrimaryPrecedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1131 asn1_ctx_t asn1_ctx;
1132 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1133 dissect_p772_PrimaryPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PrimaryPrecedence_PDU);
1135 static void dissect_CopyPrecedence_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1136 asn1_ctx_t asn1_ctx;
1137 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1138 dissect_p772_CopyPrecedence(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CopyPrecedence_PDU);
1140 static void dissect_MessageType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1141 asn1_ctx_t asn1_ctx;
1142 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1143 dissect_p772_MessageType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MessageType_PDU);
1145 static void dissect_AddressListDesignatorSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1146 asn1_ctx_t asn1_ctx;
1147 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1148 dissect_p772_AddressListDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_AddressListDesignatorSeq_PDU);
1150 static void dissect_OtherRecipientDesignatorSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1151 asn1_ctx_t asn1_ctx;
1152 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1153 dissect_p772_OtherRecipientDesignatorSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OtherRecipientDesignatorSeq_PDU);
1155 static void dissect_PilotInformationSeq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1156 asn1_ctx_t asn1_ctx;
1157 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1158 dissect_p772_PilotInformationSeq(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PilotInformationSeq_PDU);
1160 static void dissect_Acp127MessageIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1161 asn1_ctx_t asn1_ctx;
1162 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1163 dissect_p772_Acp127MessageIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127MessageIdentifier_PDU);
1165 static void dissect_OriginatorPlad_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1166 asn1_ctx_t asn1_ctx;
1167 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1168 dissect_p772_OriginatorPlad(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_OriginatorPlad_PDU);
1170 static void dissect_SecurityInformationLabels_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1171 asn1_ctx_t asn1_ctx;
1172 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1173 dissect_p772_SecurityInformationLabels(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_SecurityInformationLabels_PDU);
1175 static void dissect_PriorityLevelQualifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1176 asn1_ctx_t asn1_ctx;
1177 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1178 dissect_p772_PriorityLevelQualifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_PriorityLevelQualifier_PDU);
1180 static void dissect_ADatP3Parameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1181 asn1_ctx_t asn1_ctx;
1182 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1183 dissect_p772_ADatP3Parameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ADatP3Parameters_PDU);
1185 static void dissect_ADatP3Data_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1186 asn1_ctx_t asn1_ctx;
1187 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1188 dissect_p772_ADatP3Data(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ADatP3Data_PDU);
1190 static void dissect_CorrectionsParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1191 asn1_ctx_t asn1_ctx;
1192 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1193 dissect_p772_CorrectionsParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CorrectionsParameters_PDU);
1195 static void dissect_CorrectionsData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1196 asn1_ctx_t asn1_ctx;
1197 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1198 dissect_p772_CorrectionsData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_CorrectionsData_PDU);
1200 static void dissect_ForwardedEncryptedParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1201 asn1_ctx_t asn1_ctx;
1202 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1203 dissect_p772_ForwardedEncryptedParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ForwardedEncryptedParameters_PDU);
1205 static void dissect_ForwardedEncryptedData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1206 asn1_ctx_t asn1_ctx;
1207 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1208 dissect_p772_ForwardedEncryptedData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ForwardedEncryptedData_PDU);
1210 static void dissect_MMMessageParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1211 asn1_ctx_t asn1_ctx;
1212 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1213 dissect_p772_MMMessageParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MMMessageParameters_PDU);
1215 static void dissect_MMMessageData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1216 asn1_ctx_t asn1_ctx;
1217 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1218 dissect_p772_MMMessageData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_MMMessageData_PDU);
1220 static void dissect_ACP127DataParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1221 asn1_ctx_t asn1_ctx;
1222 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1223 dissect_p772_ACP127DataParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ACP127DataParameters_PDU);
1225 static void dissect_ACP127DataData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1226 asn1_ctx_t asn1_ctx;
1227 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1228 dissect_p772_ACP127DataData(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_ACP127DataData_PDU);
1230 static void dissect_Acp127NotificationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1231 asn1_ctx_t asn1_ctx;
1232 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1233 dissect_p772_Acp127NotificationType(FALSE, tvb, 0, &asn1_ctx, tree, hf_p772_Acp127NotificationType_PDU);
1237 /*--- End of included file: packet-p772-fn.c ---*/
1238 #line 56 "../../asn1/p772/packet-p772-template.c"
1242 * Dissect STANAG 4406 PDUs inside a PPDU.
1244 static void
1245 dissect_p772(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
1247 int offset = 0;
1248 proto_item *item=NULL;
1249 proto_tree *tree=NULL;
1250 asn1_ctx_t asn1_ctx;
1251 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1253 if(parent_tree){
1254 item = proto_tree_add_item(parent_tree, proto_p772, tvb, 0, -1, ENC_NA);
1255 tree = proto_item_add_subtree(item, ett_p772);
1258 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P772");
1259 col_set_str(pinfo->cinfo, COL_INFO, "Military");
1261 dissect_p772_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1);
1266 /*--- proto_register_p772 -------------------------------------------*/
1267 void proto_register_p772(void) {
1269 /* List of fields */
1270 static hf_register_info hf[] =
1273 /*--- Included file: packet-p772-hfarr.c ---*/
1274 #line 1 "../../asn1/p772/packet-p772-hfarr.c"
1275 { &hf_p772_InformationObject_PDU,
1276 { "InformationObject", "p772.InformationObject",
1277 FT_UINT32, BASE_DEC, VALS(p22_InformationObject_vals), 0,
1278 NULL, HFILL }},
1279 { &hf_p772_Acp127NotificationResponse_PDU,
1280 { "Acp127NotificationResponse", "p772.Acp127NotificationResponse_element",
1281 FT_NONE, BASE_NONE, NULL, 0,
1282 NULL, HFILL }},
1283 { &hf_p772_ExemptedAddressSeq_PDU,
1284 { "ExemptedAddressSeq", "p772.ExemptedAddressSeq",
1285 FT_UINT32, BASE_DEC, NULL, 0,
1286 NULL, HFILL }},
1287 { &hf_p772_ExtendedAuthorisationInfo_PDU,
1288 { "ExtendedAuthorisationInfo", "p772.ExtendedAuthorisationInfo",
1289 FT_STRING, BASE_NONE, NULL, 0,
1290 NULL, HFILL }},
1291 { &hf_p772_DistributionCodes_PDU,
1292 { "DistributionCodes", "p772.DistributionCodes_element",
1293 FT_NONE, BASE_NONE, NULL, 0,
1294 NULL, HFILL }},
1295 { &hf_p772_HandlingInstructions_PDU,
1296 { "HandlingInstructions", "p772.HandlingInstructions",
1297 FT_UINT32, BASE_DEC, NULL, 0,
1298 NULL, HFILL }},
1299 { &hf_p772_MessageInstructions_PDU,
1300 { "MessageInstructions", "p772.MessageInstructions",
1301 FT_UINT32, BASE_DEC, NULL, 0,
1302 NULL, HFILL }},
1303 { &hf_p772_CodressMessage_PDU,
1304 { "CodressMessage", "p772.CodressMessage",
1305 FT_INT32, BASE_DEC, NULL, 0,
1306 NULL, HFILL }},
1307 { &hf_p772_OriginatorReference_PDU,
1308 { "OriginatorReference", "p772.OriginatorReference",
1309 FT_STRING, BASE_NONE, NULL, 0,
1310 NULL, HFILL }},
1311 { &hf_p772_PrimaryPrecedence_PDU,
1312 { "PrimaryPrecedence", "p772.PrimaryPrecedence",
1313 FT_INT32, BASE_DEC, VALS(p772_PrimaryPrecedence_vals), 0,
1314 NULL, HFILL }},
1315 { &hf_p772_CopyPrecedence_PDU,
1316 { "CopyPrecedence", "p772.CopyPrecedence",
1317 FT_INT32, BASE_DEC, VALS(p772_CopyPrecedence_vals), 0,
1318 NULL, HFILL }},
1319 { &hf_p772_MessageType_PDU,
1320 { "MessageType", "p772.MessageType_element",
1321 FT_NONE, BASE_NONE, NULL, 0,
1322 NULL, HFILL }},
1323 { &hf_p772_AddressListDesignatorSeq_PDU,
1324 { "AddressListDesignatorSeq", "p772.AddressListDesignatorSeq",
1325 FT_UINT32, BASE_DEC, NULL, 0,
1326 NULL, HFILL }},
1327 { &hf_p772_OtherRecipientDesignatorSeq_PDU,
1328 { "OtherRecipientDesignatorSeq", "p772.OtherRecipientDesignatorSeq",
1329 FT_UINT32, BASE_DEC, NULL, 0,
1330 NULL, HFILL }},
1331 { &hf_p772_PilotInformationSeq_PDU,
1332 { "PilotInformationSeq", "p772.PilotInformationSeq",
1333 FT_UINT32, BASE_DEC, NULL, 0,
1334 NULL, HFILL }},
1335 { &hf_p772_Acp127MessageIdentifier_PDU,
1336 { "Acp127MessageIdentifier", "p772.Acp127MessageIdentifier",
1337 FT_STRING, BASE_NONE, NULL, 0,
1338 NULL, HFILL }},
1339 { &hf_p772_OriginatorPlad_PDU,
1340 { "OriginatorPlad", "p772.OriginatorPlad",
1341 FT_STRING, BASE_NONE, NULL, 0,
1342 NULL, HFILL }},
1343 { &hf_p772_SecurityInformationLabels_PDU,
1344 { "SecurityInformationLabels", "p772.SecurityInformationLabels_element",
1345 FT_NONE, BASE_NONE, NULL, 0,
1346 NULL, HFILL }},
1347 { &hf_p772_PriorityLevelQualifier_PDU,
1348 { "PriorityLevelQualifier", "p772.PriorityLevelQualifier",
1349 FT_UINT32, BASE_DEC, VALS(p772_PriorityLevelQualifier_vals), 0,
1350 NULL, HFILL }},
1351 { &hf_p772_ADatP3Parameters_PDU,
1352 { "ADatP3Parameters", "p772.ADatP3Parameters",
1353 FT_INT32, BASE_DEC, NULL, 0,
1354 NULL, HFILL }},
1355 { &hf_p772_ADatP3Data_PDU,
1356 { "ADatP3Data", "p772.ADatP3Data",
1357 FT_UINT32, BASE_DEC, VALS(p772_ADatP3Data_vals), 0,
1358 NULL, HFILL }},
1359 { &hf_p772_CorrectionsParameters_PDU,
1360 { "CorrectionsParameters", "p772.CorrectionsParameters",
1361 FT_INT32, BASE_DEC, NULL, 0,
1362 NULL, HFILL }},
1363 { &hf_p772_CorrectionsData_PDU,
1364 { "CorrectionsData", "p772.CorrectionsData",
1365 FT_STRING, BASE_NONE, NULL, 0,
1366 NULL, HFILL }},
1367 { &hf_p772_ForwardedEncryptedParameters_PDU,
1368 { "ForwardedEncryptedParameters", "p772.ForwardedEncryptedParameters_element",
1369 FT_NONE, BASE_NONE, NULL, 0,
1370 NULL, HFILL }},
1371 { &hf_p772_ForwardedEncryptedData_PDU,
1372 { "ForwardedEncryptedData", "p772.ForwardedEncryptedData",
1373 FT_BYTES, BASE_NONE, NULL, 0,
1374 NULL, HFILL }},
1375 { &hf_p772_MMMessageParameters_PDU,
1376 { "MMMessageParameters", "p772.MMMessageParameters_element",
1377 FT_NONE, BASE_NONE, NULL, 0,
1378 NULL, HFILL }},
1379 { &hf_p772_MMMessageData_PDU,
1380 { "MMMessageData", "p772.MMMessageData_element",
1381 FT_NONE, BASE_NONE, NULL, 0,
1382 NULL, HFILL }},
1383 { &hf_p772_ACP127DataParameters_PDU,
1384 { "ACP127DataParameters", "p772.ACP127DataParameters",
1385 FT_INT32, BASE_DEC, NULL, 0,
1386 NULL, HFILL }},
1387 { &hf_p772_ACP127DataData_PDU,
1388 { "ACP127DataData", "p772.ACP127DataData",
1389 FT_STRING, BASE_NONE, NULL, 0,
1390 NULL, HFILL }},
1391 { &hf_p772_Acp127NotificationType_PDU,
1392 { "Acp127NotificationType", "p772.Acp127NotificationType",
1393 FT_BYTES, BASE_NONE, NULL, 0,
1394 NULL, HFILL }},
1395 { &hf_p772_mm,
1396 { "mm", "p772.mm_element",
1397 FT_NONE, BASE_NONE, NULL, 0,
1398 "IPM", HFILL }},
1399 { &hf_p772_mn,
1400 { "mn", "p772.mn_element",
1401 FT_NONE, BASE_NONE, NULL, 0,
1402 "IPN", HFILL }},
1403 { &hf_p772_acp127_notification_type,
1404 { "acp127-notification-type", "p772.acp127_notification_type",
1405 FT_BYTES, BASE_NONE, NULL, 0,
1406 "Acp127NotificationType", HFILL }},
1407 { &hf_p772_receipt_time,
1408 { "receipt-time", "p772.receipt_time",
1409 FT_STRING, BASE_NONE, NULL, 0,
1410 "ReceiptTimeField", HFILL }},
1411 { &hf_p772_addressListIndicator,
1412 { "addressListIndicator", "p772.addressListIndicator",
1413 FT_UINT32, BASE_DEC, NULL, 0,
1414 NULL, HFILL }},
1415 { &hf_p772_acp127_recipient,
1416 { "acp127-recipient", "p772.acp127_recipient",
1417 FT_STRING, BASE_NONE, NULL, 0,
1418 "Acp127Recipient", HFILL }},
1419 { &hf_p772_acp127_supp_info,
1420 { "acp127-supp-info", "p772.acp127_supp_info",
1421 FT_STRING, BASE_NONE, NULL, 0,
1422 "Acp127SuppInfo", HFILL }},
1423 { &hf_p772_AddressListIndicator_item,
1424 { "AddressListDesignator", "p772.AddressListDesignator_element",
1425 FT_NONE, BASE_NONE, NULL, 0,
1426 NULL, HFILL }},
1427 { &hf_p772_ExemptedAddressSeq_item,
1428 { "ExemptedAddress", "p772.ExemptedAddress_element",
1429 FT_NONE, BASE_NONE, NULL, 0,
1430 NULL, HFILL }},
1431 { &hf_p772_sics,
1432 { "sics", "p772.sics",
1433 FT_UINT32, BASE_DEC, NULL, 0,
1434 "SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic", HFILL }},
1435 { &hf_p772_sics_item,
1436 { "Sic", "p772.Sic",
1437 FT_STRING, BASE_NONE, NULL, 0,
1438 NULL, HFILL }},
1439 { &hf_p772_dist_Extensions,
1440 { "dist-Extensions", "p772.dist_Extensions",
1441 FT_UINT32, BASE_DEC, NULL, 0,
1442 "SEQUENCE_OF_DistributionExtensionField", HFILL }},
1443 { &hf_p772_dist_Extensions_item,
1444 { "DistributionExtensionField", "p772.DistributionExtensionField_element",
1445 FT_NONE, BASE_NONE, NULL, 0,
1446 NULL, HFILL }},
1447 { &hf_p772_dist_type,
1448 { "dist-type", "p772.dist_type",
1449 FT_OID, BASE_NONE, NULL, 0,
1450 "OBJECT_IDENTIFIER", HFILL }},
1451 { &hf_p772_dist_value,
1452 { "dist-value", "p772.dist_value_element",
1453 FT_NONE, BASE_NONE, NULL, 0,
1454 "T_dist_value", HFILL }},
1455 { &hf_p772_HandlingInstructions_item,
1456 { "MilitaryString", "p772.MilitaryString",
1457 FT_STRING, BASE_NONE, NULL, 0,
1458 NULL, HFILL }},
1459 { &hf_p772_MessageInstructions_item,
1460 { "MilitaryString", "p772.MilitaryString",
1461 FT_STRING, BASE_NONE, NULL, 0,
1462 NULL, HFILL }},
1463 { &hf_p772_message_type_type,
1464 { "type", "p772.type",
1465 FT_INT32, BASE_DEC, VALS(p772_TypeMessage_vals), 0,
1466 "TypeMessage", HFILL }},
1467 { &hf_p772_identifier,
1468 { "identifier", "p772.identifier",
1469 FT_STRING, BASE_NONE, NULL, 0,
1470 "MessageIdentifier", HFILL }},
1471 { &hf_p772_AddressListDesignatorSeq_item,
1472 { "AddressListDesignator", "p772.AddressListDesignator_element",
1473 FT_NONE, BASE_NONE, NULL, 0,
1474 NULL, HFILL }},
1475 { &hf_p772_address_list_type,
1476 { "type", "p772.type",
1477 FT_INT32, BASE_DEC, VALS(p772_AddressListType_vals), 0,
1478 "AddressListType", HFILL }},
1479 { &hf_p772_listName,
1480 { "listName", "p772.listName_element",
1481 FT_NONE, BASE_NONE, NULL, 0,
1482 "ORDescriptor", HFILL }},
1483 { &hf_p772_notificationRequest,
1484 { "notificationRequest", "p772.notificationRequest",
1485 FT_INT32, BASE_DEC, VALS(p772_AddressListRequest_vals), 0,
1486 "AddressListRequest", HFILL }},
1487 { &hf_p772_replyRequest,
1488 { "replyRequest", "p772.replyRequest",
1489 FT_INT32, BASE_DEC, VALS(p772_AddressListRequest_vals), 0,
1490 "AddressListRequest", HFILL }},
1491 { &hf_p772_OtherRecipientDesignatorSeq_item,
1492 { "OtherRecipientDesignator", "p772.OtherRecipientDesignator_element",
1493 FT_NONE, BASE_NONE, NULL, 0,
1494 NULL, HFILL }},
1495 { &hf_p772_other_recipient_type,
1496 { "type", "p772.type",
1497 FT_INT32, BASE_DEC, VALS(p772_OtherRecipientType_vals), 0,
1498 "OtherRecipientType", HFILL }},
1499 { &hf_p772_designator,
1500 { "designator", "p772.designator",
1501 FT_STRING, BASE_NONE, NULL, 0,
1502 "MilitaryString", HFILL }},
1503 { &hf_p772_PilotInformationSeq_item,
1504 { "PilotInformation", "p772.PilotInformation_element",
1505 FT_NONE, BASE_NONE, NULL, 0,
1506 NULL, HFILL }},
1507 { &hf_p772_pilotPrecedence,
1508 { "pilotPrecedence", "p772.pilotPrecedence",
1509 FT_INT32, BASE_DEC, VALS(p772_MMHSPrecedence_vals), 0,
1510 "MMHSPrecedence", HFILL }},
1511 { &hf_p772_pilotRecipient,
1512 { "pilotRecipient", "p772.pilotRecipient",
1513 FT_UINT32, BASE_DEC, NULL, 0,
1514 "SEQUENCE_OF_ORDescriptor", HFILL }},
1515 { &hf_p772_pilotRecipient_item,
1516 { "ORDescriptor", "p772.ORDescriptor_element",
1517 FT_NONE, BASE_NONE, NULL, 0,
1518 NULL, HFILL }},
1519 { &hf_p772_pilotSecurity,
1520 { "pilotSecurity", "p772.pilotSecurity_element",
1521 FT_NONE, BASE_NONE, NULL, 0,
1522 "SecurityLabel", HFILL }},
1523 { &hf_p772_pilotHandling,
1524 { "pilotHandling", "p772.pilotHandling",
1525 FT_UINT32, BASE_DEC, NULL, 0,
1526 "SEQUENCE_OF_MilitaryString", HFILL }},
1527 { &hf_p772_pilotHandling_item,
1528 { "MilitaryString", "p772.MilitaryString",
1529 FT_STRING, BASE_NONE, NULL, 0,
1530 NULL, HFILL }},
1531 { &hf_p772_content_security_label,
1532 { "content-security-label", "p772.content_security_label_element",
1533 FT_NONE, BASE_NONE, NULL, 0,
1534 "SecurityLabel", HFILL }},
1535 { &hf_p772_heading_security_label,
1536 { "heading-security-label", "p772.heading_security_label_element",
1537 FT_NONE, BASE_NONE, NULL, 0,
1538 "SecurityLabel", HFILL }},
1539 { &hf_p772_body_part_security_labels,
1540 { "body-part-security-labels", "p772.body_part_security_labels",
1541 FT_UINT32, BASE_DEC, NULL, 0,
1542 "SEQUENCE_OF_BodyPartSecurityLabel", HFILL }},
1543 { &hf_p772_body_part_security_labels_item,
1544 { "BodyPartSecurityLabel", "p772.BodyPartSecurityLabel_element",
1545 FT_NONE, BASE_NONE, NULL, 0,
1546 NULL, HFILL }},
1547 { &hf_p772_body_part_security_label,
1548 { "body-part-security-label", "p772.body_part_security_label_element",
1549 FT_NONE, BASE_NONE, NULL, 0,
1550 "SecurityLabel", HFILL }},
1551 { &hf_p772_body_part_sequence_number,
1552 { "body-part-sequence-number", "p772.body_part_sequence_number",
1553 FT_INT32, BASE_DEC, NULL, 0,
1554 "BodyPartSequenceNumber", HFILL }},
1555 { &hf_p772_lineOriented,
1556 { "lineOriented", "p772.lineOriented",
1557 FT_STRING, BASE_NONE, NULL, 0,
1558 "IA5String", HFILL }},
1559 { &hf_p772_setOriented,
1560 { "setOriented", "p772.setOriented",
1561 FT_UINT32, BASE_DEC, NULL, 0,
1562 NULL, HFILL }},
1563 { &hf_p772_setOriented_item,
1564 { "setOriented item", "p772.setOriented_item",
1565 FT_STRING, BASE_NONE, NULL, 0,
1566 "IA5String", HFILL }},
1567 { &hf_p772_delivery_time,
1568 { "delivery-time", "p772.delivery_time",
1569 FT_STRING, BASE_NONE, NULL, 0,
1570 "MessageDeliveryTime", HFILL }},
1571 { &hf_p772_delivery_envelope,
1572 { "delivery-envelope", "p772.delivery_envelope_element",
1573 FT_NONE, BASE_NONE, NULL, 0,
1574 "OtherMessageDeliveryFields", HFILL }},
1575 { &hf_p772_Acp127NotificationType_acp127_nn,
1576 { "acp127-nn", "p772.acp127-nn",
1577 FT_BOOLEAN, 8, NULL, 0x80,
1578 NULL, HFILL }},
1579 { &hf_p772_Acp127NotificationType_acp127_pn,
1580 { "acp127-pn", "p772.acp127-pn",
1581 FT_BOOLEAN, 8, NULL, 0x40,
1582 NULL, HFILL }},
1583 { &hf_p772_Acp127NotificationType_acp127_tn,
1584 { "acp127-tn", "p772.acp127-tn",
1585 FT_BOOLEAN, 8, NULL, 0x20,
1586 NULL, HFILL }},
1588 /*--- End of included file: packet-p772-hfarr.c ---*/
1589 #line 90 "../../asn1/p772/packet-p772-template.c"
1592 /* List of subtrees */
1593 static gint *ett[] = {
1594 &ett_p772,
1596 /*--- Included file: packet-p772-ettarr.c ---*/
1597 #line 1 "../../asn1/p772/packet-p772-ettarr.c"
1598 &ett_p772_InformationObject,
1599 &ett_p772_Acp127NotificationResponse,
1600 &ett_p772_AddressListIndicator,
1601 &ett_p772_ExemptedAddressSeq,
1602 &ett_p772_DistributionCodes,
1603 &ett_p772_SEQUENCE_SIZE_1_ub_military_number_of_sics_OF_Sic,
1604 &ett_p772_SEQUENCE_OF_DistributionExtensionField,
1605 &ett_p772_DistributionExtensionField,
1606 &ett_p772_HandlingInstructions,
1607 &ett_p772_MessageInstructions,
1608 &ett_p772_MessageType,
1609 &ett_p772_AddressListDesignatorSeq,
1610 &ett_p772_AddressListDesignator,
1611 &ett_p772_OtherRecipientDesignatorSeq,
1612 &ett_p772_OtherRecipientDesignator,
1613 &ett_p772_PilotInformationSeq,
1614 &ett_p772_PilotInformation,
1615 &ett_p772_SEQUENCE_OF_ORDescriptor,
1616 &ett_p772_SEQUENCE_OF_MilitaryString,
1617 &ett_p772_SecurityInformationLabels,
1618 &ett_p772_SEQUENCE_OF_BodyPartSecurityLabel,
1619 &ett_p772_BodyPartSecurityLabel,
1620 &ett_p772_ADatP3Data,
1621 &ett_p772_T_setOriented,
1622 &ett_p772_ForwardedEncryptedParameters,
1623 &ett_p772_MMMessageParameters,
1624 &ett_p772_Acp127NotificationType,
1626 /*--- End of included file: packet-p772-ettarr.c ---*/
1627 #line 96 "../../asn1/p772/packet-p772-template.c"
1630 /* Register protocol */
1631 proto_p772 = proto_register_protocol(PNAME, PSNAME, PFNAME);
1632 register_dissector("p772", dissect_p772, proto_p772);
1634 /* Register fields and subtrees */
1635 proto_register_field_array(proto_p772, hf, array_length(hf));
1636 proto_register_subtree_array(ett, array_length(ett));
1638 register_ber_syntax_dissector("STANAG 4406", proto_p772, dissect_p772);
1639 register_ber_oid_syntax(".p772", NULL, "STANAG 4406");
1643 /*--- proto_reg_handoff_p772 --- */
1644 void proto_reg_handoff_p772(void) {
1646 /*--- Included file: packet-p772-dis-tab.c ---*/
1647 #line 1 "../../asn1/p772/packet-p772-dis-tab.c"
1648 register_ber_oid_dissector("1.3.26.0.4406.0.2.0", dissect_PrimaryPrecedence_PDU, proto_p772, "primary-precedence");
1649 register_ber_oid_dissector("1.3.26.0.4406.0.2.1", dissect_CopyPrecedence_PDU, proto_p772, "copy-precedence");
1650 register_ber_oid_dissector("1.3.26.0.4406.0.2.2", dissect_MessageType_PDU, proto_p772, "message-type");
1651 register_ber_oid_dissector("1.3.26.0.4406.0.2.3", dissect_AddressListDesignatorSeq_PDU, proto_p772, "address-list-indicator");
1652 register_ber_oid_dissector("1.3.26.0.4406.0.2.4", dissect_ExemptedAddressSeq_PDU, proto_p772, "exempted-address");
1653 register_ber_oid_dissector("1.3.26.0.4406.0.2.5", dissect_ExtendedAuthorisationInfo_PDU, proto_p772, "extended-authorisation-info");
1654 register_ber_oid_dissector("1.3.26.0.4406.0.2.6", dissect_DistributionCodes_PDU, proto_p772, "distribution-codes");
1655 register_ber_oid_dissector("1.3.26.0.4406.0.2.7", dissect_HandlingInstructions_PDU, proto_p772, "handling-instructions");
1656 register_ber_oid_dissector("1.3.26.0.4406.0.2.8", dissect_MessageInstructions_PDU, proto_p772, "message-instructions");
1657 register_ber_oid_dissector("1.3.26.0.4406.0.2.9", dissect_CodressMessage_PDU, proto_p772, "codress-message");
1658 register_ber_oid_dissector("1.3.26.0.4406.0.2.10", dissect_OriginatorReference_PDU, proto_p772, "originator-reference");
1659 register_ber_oid_dissector("1.3.26.0.4406.0.2.11", dissect_OtherRecipientDesignatorSeq_PDU, proto_p772, "other-recipients-indicator");
1660 register_ber_oid_dissector("1.3.26.0.4406.0.2.12", dissect_PilotInformationSeq_PDU, proto_p772, "pilot-forwarding-info");
1661 register_ber_oid_dissector("1.3.26.0.4406.0.2.13", dissect_Acp127MessageIdentifier_PDU, proto_p772, "acp127-message-identifier");
1662 register_ber_oid_dissector("1.3.26.0.4406.0.2.14", dissect_OriginatorPlad_PDU, proto_p772, "originator-plad");
1663 register_ber_oid_dissector("1.3.26.0.4406.0.2.15", dissect_Acp127NotificationType_PDU, proto_p772, "acp127-notification-request");
1664 register_ber_oid_dissector("1.3.26.0.4406.0.2.16", dissect_Acp127NotificationResponse_PDU, proto_p772, "acp127-notification-response");
1665 register_ber_oid_dissector("1.3.26.0.4406.0.2.17", dissect_SecurityInformationLabels_PDU, proto_p772, "information-labels");
1666 register_ber_oid_dissector("1.3.26.0.4406.0.8.0", dissect_PriorityLevelQualifier_PDU, proto_p772, "priority-level-qualifier");
1667 register_ber_oid_dissector(id_nato_mmhs_et_adatp3, dissect_ADatP3Data_PDU, proto_p772, "adatp3");
1668 register_ber_oid_dissector(id_nato_mmhs_et_adatp3_parameters, dissect_ADatP3Parameters_PDU, proto_p772, "adatp3-parameters");
1669 register_ber_oid_dissector(id_nato_mmhs_et_corrections, dissect_CorrectionsData_PDU, proto_p772, "corrections");
1670 register_ber_oid_dissector(id_nato_mmhs_et_corrections_parameters, dissect_CorrectionsParameters_PDU, proto_p772, "corrections-parameters");
1671 register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted, dissect_ForwardedEncryptedData_PDU, proto_p772, "forwarded-encrypted");
1672 register_ber_oid_dissector(id_nato_mmhs_et_forwarded_encrypted_parameters, dissect_ForwardedEncryptedParameters_PDU, proto_p772, "forwarded-encrypted-parameters");
1673 register_ber_oid_dissector(id_nato_mmhs_et_mm_message, dissect_MMMessageData_PDU, proto_p772, "mm-message");
1674 register_ber_oid_dissector(id_nato_mmhs_et_mm_message_parameters, dissect_MMMessageParameters_PDU, proto_p772, "mm-message-parameters");
1675 register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data, dissect_ACP127DataData_PDU, proto_p772, "acp127-data");
1676 register_ber_oid_dissector(id_nato_mmhs_et_mm_acp127data_parameters, dissect_ACP127DataParameters_PDU, proto_p772, "acp127-data-parameters");
1677 register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_p772, "id-et-content-p772");
1680 /*--- End of included file: packet-p772-dis-tab.c ---*/
1681 #line 114 "../../asn1/p772/packet-p772-template.c"
1683 register_ber_oid_dissector("1.3.26.0.4406.0.4.1", dissect_p772, proto_p772, "STANAG 4406");