Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / atn-cpdlc / atn-cpdlc.asn
blob546fa8ef38c69928e8cfc7b626fec975340561a8
1 -- Sub-Volume IV ASN.1 reference definitions for ICAO Doc. 9705,
2 -- Second Edition
3 -- Version 1.1, 03 Oct 2001
5 -- protected mode PDR's
6 -- 2011-10-25   Doc 9705 Draft Ed 3 (ICAO web site - 11/00) including "9705 PDRS FOR CPDLC"
7 -- based on "ACP WGN SG/N2 Version 1.1 (Output Montreal - May 2005)"
10 -- plain old CPDLC
11 CPDLCAPDUsVersion1 DEFINITIONS ::=
12 BEGIN
14 IMPORTS
15         ATCUplinkMessage, ATCDownlinkMessage
16     FROM PMCPDLCMessageSetVersion1
17         ATCForwardMessage, ATCForwardResponse
18     FROM PMCPDLCAPDUsVersion1;
20 -- ----------------------------------------------------------------------------------
21 -- Ground Generated Messages - Top level
22 -- ----------------------------------------------------------------------------------
23 GroundPDUs ::= CHOICE
25     abortUser   [0] CPDLCUserAbortReason,
26     abortProvider   [1] CPDLCProviderAbortReason,
27     startup     [2] UplinkMessage,
28     send      [3] ATCUplinkMessage,
29     forward   [4] ATCForwardMessage,
30     forwardresponse [5] ATCForwardResponse,
31     ...
34 UplinkMessage ::= CHOICE
36     noMessage   [0] NULL,
37     aTCUplinkMessage  [1] ATCUplinkMessage
40 AircraftPDUs::= CHOICE
42     abortUser [0] CPDLCUserAbortReason,
43     abortProvider [1] CPDLCProviderAbortReason,
44     startdown [2] StartDownMessage,
45     send    [3] ATCDownlinkMessage,
46     ...
49 StartDownMessage ::= SEQUENCE
51     mode      Mode DEFAULT cpdlc,
52     startDownlinkMessage  DownlinkMessage
55 Mode ::= ENUMERATED
57     cpdlc   (0),
58     dsc   (1)
61 DownlinkMessage ::= CHOICE
63     noMessage     [0] NULL,
64     aTCDownlinkMessage    [1] ATCDownlinkMessage
67 CPDLCUserAbortReason ::= ENUMERATED
69     undefined         (0),
70     no-message-identification-numbers-available (1),
71     duplicate-message-identification-numbers  (2),
72     no-longer-next-data-authority     (3),
73     current-data-authority-abort      (4),
74     commanded-termination     (5),
75     invalid-response        (6),
76     ...
80 CPDLCProviderAbortReason ::= ENUMERATED
82     timer-expired         (0),
83     undefined-error       (1),
84     invalid-PDU         (2),
85     protocol-error          (3),
86     communication-service-error     (4),
87     communication-service-failure     (5),
88     invalid-QOS-parameter       (6),
89     expected-PDU-missing        (7),
90     ...
91   }
93 END
95 -- protected mode PMCPDLC
96 PMCPDLCAPDUsVersion1 DEFINITIONS::=
97 BEGIN
99 IMPORTS
100 DateTimeGroup,
101 AircraftFlightIdentification,
102 AircraftAddress
103 FROM PMCPDLCMessageSetVersion1;
105 -- ----------------------------------------------------------------------------------
106 -- Ground Generated Messages - Top level
107 -- ----------------------------------------------------------------------------------
108 ProtectedGroundPDUs ::= CHOICE
110     abortUser       [0] PMCPDLCUserAbortReason,
111     abortProvider   [1] PMCPDLCProviderAbortReason,
112     startup         [2] ProtectedUplinkMessage,
113     send            [3] ProtectedUplinkMessage,
114     forward         [4] ATCForwardMessage,
115     forwardresponse [5] ATCForwardResponse,
116     ...
119 ProtectedUplinkMessage::= SEQUENCE
121     algorithmIdentifier [0] AlgorithmIdentifier OPTIONAL,
122     protectedMessage    [1] CPDLCMessage OPTIONAL,
123 -- PER encoded ATCUplinkMessage
124 -- (see Module PMCPDLCMessageSetVersion1)
125     integrityCheck      [2] BIT STRING,
126     ...
129 ATCForwardMessage ::= SEQUENCE
131     forwardHeader   ForwardHeader,
132     forwardMessage  ForwardMessage
135 ForwardHeader ::= SEQUENCE
137     dateTime  DateTimeGroup,
138     aircraftID  AircraftFlightIdentification,
139     aircraftAddress AircraftAddress
142 ForwardMessage ::= CHOICE
144     upElementIDs    [0] BIT STRING,
145 --PER encoded ATCUplinkMessageData,
146 -- (see Module PMCPDLCMessageSetVersion1)
147     downElementIDs  [1] BIT STRING
148 --PER encoded ATCDownlinkMessageData,
149 -- (see Module PMCPDLCMessageSetVersion1)
152 ATCForwardResponse ::= ENUMERATED
154     success               (0),
155     service-not-supported (1),
156     version-not-equal     (2),
157     ...
159 -- ----------------------------------------------------------------------------------
160 -- Aircraft Generated Messages - Top level
161 -- ----------------------------------------------------------------------------------
162 ProtectedAircraftPDUs::= CHOICE
164     abortUser     [0] PMCPDLCUserAbortReason,
165     abortProvider [1] PMCPDLCProviderAbortReason,
166     startdown     [2] ProtectedStartDownMessage,
167     send          [3] ProtectedDownlinkMessage,
168     ...
172 ProtectedStartDownMessage ::= SEQUENCE
174     mode  ProtectedMode DEFAULT cpdlc,
175     startDownlinkMessage ProtectedDownlinkMessage
178 ProtectedMode ::= ENUMERATED
180     cpdlc (0),
181     dsc (1)
184 ProtectedDownlinkMessage::= SEQUENCE
186     algorithmIdentifier [0] AlgorithmIdentifier OPTIONAL,
187     protectedMessage    [1] CPDLCMessage OPTIONAL,
188 --PER encoded ATCDownlinkMessage,
189 -- (see Module PMCPDLCMessageSetVersion1)
190     integrityCheck      [2] BIT STRING,
191     ...
194 -- ----------------------------------------------------------------------------------
195 -- Uplink and Downlink messages - Common Elements
196 -- ----------------------------------------------------------------------------------
197 AlgorithmIdentifier ::= RELATIVE-OID
198 --root is {icao-arc atn-algorithms(9)}
200 CPDLCMessage ::= BIT STRING
202 PMCPDLCUserAbortReason ::= ENUMERATED
204     undefined                                   (0),
205     no-message-identification-numbers-available (1),
206     duplicate-message-identification-numbers    (2),
207     no-longer-next-data-authority               (3),
208     current-data-authority-abort                (4),
209     commanded-termination                       (5),
210     invalid-response                            (6),
211     time-out-of-synchronisation                 (7),
212     unknown-integrity-check                     (8),
213     validation-failure                          (9),
214     unable-to-decode-message                    (10),
215     invalid-pdu                                 (11),
216     invalid-CPDLC-message                       (12),
217     ...
220 PMCPDLCProviderAbortReason ::= ENUMERATED
222     timer-expired                               (0),
223     undefined-error                             (1),
224     invalid-PDU                                 (2),
225     protocol-error                              (3),
226     communication-service-error                 (4),
227     communication-service-failure               (5),
228     invalid-QOS-parameter                       (6),
229     expected-PDU-missing                        (7),
230     ...
235 PMCPDLCMessageSetVersion1 DEFINITIONS::=
236 BEGIN
238 ATCUplinkMessage ::= SEQUENCE
240     header  ATCMessageHeader,
241     messageData ATCUplinkMessageData
244 ATCUplinkMessageData ::= SEQUENCE
246     elementIds  SEQUENCE SIZE (1..5) OF ATCUplinkMsgElementId,
247     constrainedData SEQUENCE
248     {
249         routeClearanceData  SEQUENCE SIZE (1..2) OF RouteClearance OPTIONAL,
250         ...
251     } OPTIONAL
254 ATCDownlinkMessage ::= SEQUENCE
256     header  ATCMessageHeader,
257     messageData ATCDownlinkMessageData
260 ATCDownlinkMessageData ::= SEQUENCE
262     elementIds  SEQUENCE SIZE (1..5) OF ATCDownlinkMsgElementId,
263     constrainedData SEQUENCE
264     {
265         routeClearanceData    SEQUENCE SIZE (1..2) OF RouteClearance OPTIONAL,
266       ...
267     } OPTIONAL
270 -- ----------------------------------------------------------------------------------
271 -- Uplink and Downlink messages - Common Elements
272 -- ----------------------------------------------------------------------------------
273 ATCMessageHeader ::= SEQUENCE
275     messageIdNumber   [0] MsgIdentificationNumber,
276     messageRefNumber  [1] MsgReferenceNumber  OPTIONAL,
277     dateTime          [2] DateTimeGroup,
278     logicalAck        [3] LogicalAck  DEFAULT notRequired
281 MsgIdentificationNumber ::= INTEGER (0..63)
283 MsgReferenceNumber ::= INTEGER (0..63)
285 LogicalAck ::= ENUMERATED
287     required  (0),
288     notRequired (1)
291 -- ----------------------------------------------------------------------------------
292 -- Uplink message element
293 -- ----------------------------------------------------------------------------------
294 ATCUplinkMsgElementId ::= CHOICE
296     --  UNABLE
297     -- Urg(N)/Alr(M)/Resp(N)
298     uM0NULL [0] NULL,
300     -- STANDBY
301     -- Urg(N)/Alr(L)/Resp(N)
302     uM1NULL [1] NULL,
304     -- REQUEST DEFERRED
305     -- Urg(N)/Alr(L)/Resp(N)
306     uM2NULL [2] NULL,
308     -- ROGER
309     -- Urg(N)/Alr(L)/Resp(N)
310     uM3NULL [3] NULL,
312     -- AFFIRM
313     -- Urg(N)/Alr(L)/Resp(N)
314     uM4NULL [4] NULL,
316     -- NEGATIVE Urg(N)/Alr(L)/Resp(N)
317     uM5NULL [5] NULL,
319     -- EXPECT [level] Urg(L)/Alr(L)/Resp(R)
320     uM6Level [6] Level,
322     -- EXPECT CLIMB AT [time]
323     -- Urg(L)/Alr(L)/Resp(R)
324     uM7Time [7] Time,
326     -- EXPECT CLIMB AT [position]
327     -- Urg(L)/Alr(L)/Resp(R)
328     uM8Position [8] Position,
330     -- EXPECT DESCENT AT [time]
331     -- Urg(L)/Alr(L)/Resp(R)
332     uM9Time [9] Time,
334     -- EXPECT DESCENT AT [position]
335     -- Urg(L)/Alr(L)/Resp(R)
336     uM10Position [10] Position,
338     -- EXPECT CRUISE CLIMB AT [time]
339     -- Urg(L)/Alr(L)/Resp(R)
340     uM11Time [11] Time,
342     -- EXPECT CRUISE CLIMB AT [position]
343     -- Urg(L)/Alr(L)/Resp(R)
344     uM12Position [12] Position,
346     -- AT [time] EXPECT CLIMB TO [level]
347     -- Urg(L)/Alr(L)/Resp(R)
348     uM13TimeLevel [13] TimeLevel,
350   -- AT [position] EXPECT CLIMB TO [level]
351   -- Urg(L)/Alr(L)/Resp(R)
352     uM14PositionLevel [14] PositionLevel,
354     -- AT [time] EXPECT DESCENT TO [level]
355     -- Urg(L)/Alr(L)/Resp(R)
356     uM15TimeLevel [15] TimeLevel,
358   -- AT [position] EXPECT DESCENT TO [level]
359   -- Urg(L)/Alr(L)/Resp(R)
360     uM16PositionLevel [16] PositionLevel,
362     -- AT [time] EXPECT CRUISE CLIMB TO [level]
363     -- Urg(L)/Alr(L)/Resp(R)
364     uM17TimeLevel [17] TimeLevel,
366     -- AT [position] EXPECT CRUISE CLIMB TO [level]
367     -- Urg(L)/Alr(L)/Resp(R)
368     uM18PositionLevel [18] PositionLevel,
370     -- MAINTAIN [level]
371     -- Urg(N)/Alr(M)/Resp(W/U)
372     uM19Level [19] Level,
374     -- CLIMB TO [level]
375     -- Urg(N)/Alr(M)/Resp(W/U)
376     uM20Level [20] Level,
378     -- AT [time] CLIMB TO [level]
379     -- Urg(N)/Alr(M)/Resp(W/U)
380     uM21TimeLevel [21] TimeLevel,
382     -- AT [position] CLIMB TO [level]
383     -- Urg(N)/Alr(M)/Resp(W/U)
384     uM22PositionLevel [22] PositionLevel,
386     -- DESCEND TO [level]
387     -- Urg(N)/Alr(M)/Resp(W/U)
388     uM23Level [23] Level,
390     -- AT [time] DESCEND TO [level]
391     -- Urg(N)/Alr(M)/Resp(W/U)
392     uM24TimeLevel [24] TimeLevel,
394     -- AT [position] DESCEND TO [level]
395     -- Urg(N)/Alr(M)/Resp(W/U)
396     uM25PositionLevel [25] PositionLevel,
398     -- CLIMB TO REACH [level] BY [time]
399     -- Urg(N)/Alr(M)/Resp(W/U)
400     uM26LevelTime [26] LevelTime,
402     -- CLIMB TO REACH [level] BY [position]
403     -- Urg(N)/Alr(M)/Resp(W/U)
404     uM27LevelPosition [27] LevelPosition,
406     -- DESCEND TO REACH [level] BY [time]
407     -- Urg(N)/Alr(M)/Resp(W/U)
408     uM28LevelTime [28] LevelTime,
410     -- DESCEND TO REACH [level] BY [position]
411     -- Urg(N)/Alr(M)/Resp(W/U)
412     uM29LevelPosition [29] LevelPosition,
414     -- MAINTAIN BLOCK [level] TO [level]
415     -- Urg(N)/Alr(M)/Resp(W/U)
416     uM30LevelLevel  [30] LevelLevel,
418     -- CLIMB TO AND MAINTAIN BLOCK [level] TO [level]
419     -- Urg(N)/Alr(M)/Resp(W/U)
420     uM31LevelLevel  [31] LevelLevel,
422     -- DESCEND TO AND MAINTAIN BLOCK [level] TO [level]
423     -- Urg(N)/Alr(M)/Resp(W/U)
424     uM32LevelLevel [32] LevelLevel,
426     -- Reserved
427     -- Urg(L)/Alr(L)/Resp(Y)
428     uM33NULL [33] NULL,
430     -- CRUISE CLIMB TO [level]
431     -- Urg(N)/Alr(M)/Resp(W/U)
432     uM34Level [34] Level,
434     -- CRUISE CLIMB ABOVE [level]
435     -- Urg(N)/Alr(M)/Resp(W/U)
436     uM35Level [35] Level,
438     -- EXPEDITE CLIMB TO [level]
439     -- Urg(U)/Alr(M)/Resp(W/U)
440     uM36Level [36] Level,
442     -- EXPEDITE DESCENT TO [level]
443     -- Urg(U)/Alr(M)/Resp(W/U)
444     uM37Level [37] Level,
446     -- IMMEDIATELY CLIMB TO [level]
447     -- Urg(D)/Alr(H)/Resp(W/U)
448     uM38Level [38] Level,
450     -- IMMEDIATELY DESCEND TO [level]
451     -- Urg(D)/Alr(H)/Resp(W/U)
452     uM39Level [39] Level,
454     -- Reserved
455     -- Urg(L)/Alr(L)/Resp(Y)
456     uM40NULL [40] NULL,
458     -- Reserved Urg(L)/Alr(L)/Resp(Y)
459     uM41NULL [41] NULL,
461     -- EXPECT TO CROSS [position] AT [level]
462     -- Urg(L)/Alr(L)/Resp(R)
463     uM42PositionLevel [42] PositionLevel,
465     -- EXPECT TO CROSS [position] AT OR ABOVE [level]
466     -- Urg(L)/Alr(L)/Resp(R)
467     uM43PositionLevel [43] PositionLevel,
469     -- EXPECT TO CROSS [position] AT OR BELOW [level]
470     -- Urg(L)/Alr(L)/Resp(R)
471     uM44PositionLevel [44] PositionLevel,
473     -- EXPECT TO CROSS [position] AT AND MAINTAIN [level]
474     -- Urg(L)/Alr(L)/Resp(R)
475     uM45PositionLevel [45] PositionLevel,
477     -- CROSS [position] AT [level]
478     -- Urg(N)/Alr(M)/Resp(W/U)
479     uM46PositionLevel [46] PositionLevel,
481     -- CROSS [position] AT OR ABOVE [level]
482     -- Urg(N)/Alr(M)/Resp(W/U)
483     uM47PositionLevel [47] PositionLevel,
485     -- CROSS [position] AT OR BELOW [level]
486     -- Urg(N)/Alr(M)/Resp(W/U)
487     uM48PositionLevel [48]  PositionLevel,
489     -- CROSS [position] AT AND MAINTAIN [level]
490     -- Urg(N)/Alr(M)/Resp(W/U)
491     uM49PositionLevel [49] PositionLevel,
493     -- CROSS [position] BETWEEN [level] AND [level]
494     -- Urg(N)/Alr(M)/Resp(W/U)
495     uM50PositionLevelLevel [50] PositionLevelLevel,
497     -- CROSS [position] AT [time]
498     -- Urg(N)/Alr(M)/Resp(W/U)
499     uM51PositionTime [51] PositionTime,
501     -- CROSS [position] AT OR BEFORE [time]
502     -- Urg(N)/Alr(M)/Resp(W/U)
503     uM52PositionTime [52] PositionTime,
505     -- CROSS [position] AT OR AFTER [time]
506     -- Urg(N)/Alr(M)/Resp(W/U)
507     uM53PositionTime [53] PositionTime,
509     -- CROSS [position] BETWEEN [time] AND [time]
510     -- Urg(N)/Alr(M)/Resp(W/U)
511     uM54PositionTimeTime [54] PositionTimeTime,
513     -- CROSS [position] AT [speed]
514     -- Urg(N)/Alr(M)/Resp(W/U)
515     uM55PositionSpeed [55] PositionSpeed,
517     -- CROSS [position] AT OR LESS THAN [speed]
518     -- Urg(N)/Alr(M)/Resp(W/U)
519     uM56PositionSpeed [56] PositionSpeed,
521     -- CROSS [position] AT OR GREATER THAN [speed]
522     -- Urg(N)/Alr(M)/Resp(W/U)
523     uM57PositionSpeed [57] PositionSpeed,
525     -- CROSS [position] AT [time] AT [level]
526     -- Urg(N)/Alr(M)/Resp(W/U)
527     uM58PositionTimeLevel [58] PositionTimeLevel,
529     -- CROSS [position] AT OR BEFORE [time] AT [level]
530     -- Urg(N)/Alr(M)/Resp(W/U)
531     uM59PositionTimeLevel [59] PositionTimeLevel,
533     -- CROSS [position] AT OR AFTER [time] AT [level]
534     -- Urg(N)/Alr(M)/Resp(W/U)
535     uM60PositionTimeLevel [60] PositionTimeLevel,
537     -- CROSS [position] AT AND MAINTAIN [level] AT [speed]
538     -- Urg(N)/Alr(M)/Resp(W/U)
539     uM61PositionLevelSpeed [61] PositionLevelSpeed,
541     -- AT [time] CROSS [position] AT AND MAINTAIN [level]
542     -- Urg(N)/Alr(M)/Resp(W/U)
543     uM62TimePositionLevel [62] TimePositionLevel,
545     -- AT [time] CROSS [position] AT AND MAINTAIN [level] AT [speed]
546     -- Urg(N)/Alr(M)/Resp(W/U)
547     uM63TimePositionLevelSpeed [63] TimePositionLevelSpeed,
549     -- OFFSET [specifiedDistance] [direction] OF ROUTE
550     -- Urg(N)/Alr(M)/Resp(W/U)
551     uM64DistanceSpecifiedDirection  [64] DistanceSpecifiedDirection,
553     -- AT [position] OFFSET [specifiedDistance] [direction] OF ROUTE
554     -- Urg(N)/Alr(M)/Resp(W/U)
555     uM65PositionDistanceSpecifiedDirection[65] PositionDistanceSpecifiedDirection,
557     -- AT [time] OFFSET [specifiedDistance] [direction] OF ROUTE
558     -- Urg(N)/Alr(M)/Resp(W/U)
559     uM66TimeDistanceSpecifiedDirection [66] TimeDistanceSpecifiedDirection,
561     -- PROCEED BACK ON ROUTE
562     -- Urg(N)/Alr(M)/Resp(W/U)
563     uM67NULL  [67] NULL,
565     -- REJOIN ROUTE BY [position]
566     -- Urg(N)/Alr(M)/Resp(W/U)
567     uM68Position  [68] Position,
569     -- REJOIN ROUTE BY [time]
570     -- Urg(N)/Alr(M)/Resp(W/U)
571     uM69Time  [69] Time,
573     -- EXPECT BACK ON ROUTE BY [position]
574     -- Urg(L)/Alr(L)/Resp(R)
575     uM70Position  [70] Position,
577     -- EXPECT BACK ON ROUTE BY [time]
578     -- Urg(L)/Alr(L)/Resp(R)
579     uM71Time  [71] Time,
581     -- RESUME OWN NAVIGATION
582     -- Urg(N)/Alr(M)/Resp(W/U)
583     uM72NULL  [72] NULL,
585     -- [DepartureClearance]
586     -- Urg(N)/Alr(M)/Resp(W/U)
587     uM73DepartureClearance  [73] DepartureClearance,
589     -- PROCEED DIRECT TO [position]
590     -- Urg(N)/Alr(M)/Resp(W/U)
591     uM74Position  [74] Position,
593     -- WHEN ABLE PROCEED DIRECT TO [position]
594     -- Urg(N)/Alr(M)/Resp(W/U)
595     uM75Position [75] Position,
597     -- AT [time] PROCEED DIRECT TO [position]
598     -- Urg(N)/Alr(M)/Resp(W/U)
599     uM76TimePosition [76] TimePosition,
601     -- AT [position] PROCEED DIRECT TO [position]
602     -- Urg(N)/Alr(M)/Resp(W/U)
603     uM77PositionPosition [77] PositionPosition,
605     -- AT [level] PROCEED DIRECT TO [position]
606     -- Urg(N)/Alr(M)/Resp(W/U)
607     uM78LevelPosition [78] LevelPosition,
609     -- CLEARED TO [position] VIA [routeClearance]
610     -- Urg(N)/Alr(M)/Resp(W/U)
611     uM79PositionRouteClearance [79] PositionRouteClearanceIndex,
613     -- CLEARED [routeClearance]
614     -- Urg(N)/Alr(M)/Resp(W/U)
615     uM80RouteClearance [80] RouteClearanceIndex,
617     -- CLEARED [procedureName]
618     -- Urg(N)/Alr(M)/Resp(W/U)
619     uM81ProcedureName [81] ProcedureName,
621     -- CLEARED TO DEVIATE UP TO [specifiedDistance] [direction] OF ROUTE
622     -- Urg(N)/Alr(M)/Resp(W/U)
623     uM82DistanceSpecifiedDirection [82] DistanceSpecifiedDirection,
625     -- AT [position] CLEARED [routeClearance]
626     -- Urg(N)/Alr(M)/Resp(W/U)
627     uM83PositionRouteClearance [83] PositionRouteClearanceIndex,
629     -- AT [position] CLEARED [procedureName]
630     -- Urg(N)/Alr(M)/Resp(W/U)
631     uM84PositionProcedureName [84] PositionProcedureName,
633     -- EXPECT [routeClearance]
634     -- Urg(L)/Alr(L)/Resp(R)
635     uM85RouteClearance [85] RouteClearanceIndex,
637     -- AT [position] EXPECT [routeClearance]
638     -- Urg(L)/Alr(L)/Resp(R)
639     uM86PositionRouteClearance [86] PositionRouteClearanceIndex,
641     -- EXPECT DIRECT TO [position]
642     -- Urg(L)/Alr(L)/Resp(R)
643     uM87Position [87] Position,
645     -- AT [position] EXPECT DIRECT TO [position]
646     -- Urg(L)/Alr(L)/Resp(R)
647     uM88PositionPosition [88]PositionPosition,
649     -- AT [time] EXPECT DIRECT TO [position]
650     -- Urg(L)/Alr(L)/Resp(R)
651     uM89TimePosition [89] TimePosition,
654     -- AT [level] EXPECT DIRECT TO [position]
655     -- Urg(L)/Alr(L)/Resp(R)
656     uM90LevelPosition [90] LevelPosition,
658     -- HOLD AT [position] MAINTAIN [level] INBOUND TRACK [degrees][direction] TURNS [legtype]
659     -- Urg(N)/Alr(M)/Resp(W/U)
660     uM91HoldClearance [91] HoldClearance,
662     -- HOLD AT [position] AS PUBLISHED MAINTAIN [level]
663     --  Urg(N)/Alr(M)/Resp(W/U)
664     uM92PositionLevel [92] PositionLevel,
666     -- EXPECT FURTHER CLEARANCE AT [time]
667     -- Urg(L)/Alr(L)/Resp(R)
668     uM93Time [93] Time,
670     -- TURN [direction] HEADING [degrees]
671     -- Urg(N)/Alr(M)/Resp(W/U)
672     uM94DirectionDegrees [94] DirectionDegrees,
674     -- TURN [direction] GROUND TRACK [degrees]
675     -- Urg(N)/Alr(M)/Resp(W/U)
676     uM95DirectionDegrees [95] DirectionDegrees,
678     -- CONTINUE PRESENT HEADING
679     -- Urg(N)/Alr(M)/Resp(W/U)
680     uM96NULL [96] NULL,
682     -- AT [position] FLY HEADING [degrees]
683     -- Urg(N)/Alr(M)/Resp(W/U)
684     uM97PositionDegrees [97] PositionDegrees,
686     -- IMMEDIATELY TURN [direction] HEADING [degrees]
687     -- Urg(D)/Alr(H)/Resp(W/U)
688     uM98DirectionDegrees [98] DirectionDegrees,
690     -- EXPECT [procedureName]
691     -- Urg(L)/Alr(L)/Resp(R)
692     uM99ProcedureName [99] ProcedureName,
694     -- AT [time] EXPECT [speed]
695     -- Urg(L)/Alr(L)/Resp(R)
696     uM100TimeSpeed [100] TimeSpeed,
698     -- AT [position] EXPECT [speed]
699     -- Urg(L)/Alr(L)/Resp(R)
700     uM101PositionSpeed [101] PositionSpeed,
702     -- AT [level] EXPECT [speed]
703     -- Urg(L)/Alr(L)/Resp(R)
704     uM102LevelSpeed [102] LevelSpeed,
706     -- AT [time] EXPECT [speed] TO [speed]
707     -- Urg(L)/Alr(L)/Resp(R)
708     uM103TimeSpeedSpeed [103] TimeSpeedSpeed,
710     -- AT [position] EXPECT [speed] TO [speed]
711     -- Urg(L)/Alr(L)/Resp(R)
712     uM104PositionSpeedSpeed [104] PositionSpeedSpeed,
714     -- AT [level] EXPECT [speed] TO [speed]
715     -- Urg(L)/Alr(L)/Resp(R)
716     uM105LevelSpeedSpeed [105] LevelSpeedSpeed,
718     -- MAINTAIN [speed]
719     -- Urg(N)/Alr(M)/Resp(W/U)
720     uM106Speed [106] Speed,
722     -- MAINTAIN PRESENT SPEED
723     -- Urg(N)/Alr(M)/Resp(W/U)
724     uM107NULL [107] NULL,
726     -- MAINTAIN [speed] OR GREATER
727     -- Urg(N)/Alr(M)/Resp(W/U)
728     uM108Speed [108] Speed,
730     -- MAINTAIN [speed] OR LESS
731     -- Urg(N)/Alr(M)/Resp(W/U)
732     uM109Speed [109] Speed,
734     -- MAINTAIN [speed] TO [speed]
735     -- Urg(N)/Alr(M)/Resp(W/U)
736     uM110SpeedSpeed [110] SpeedSpeed,
738     -- INCREASE SPEED TO [speed]
739     -- Urg(N)/Alr(M)/Resp(W/U)
740     uM111Speed [111] Speed,
742     -- INCREASE SPEED TO [speed] OR GREATER
743     -- Urg(N)/Alr(M)/Resp(W/U)
744     uM112Speed [112] Speed,
746     -- REDUCE SPEED TO [speed]
747     -- Urg(N)/Alr(M)/Resp(W/U)
748     uM113Speed [113] Speed,
750     -- REDUCE SPEED TO [speed] OR LESS
751     -- Urg(N)/Alr(M)/Resp(W/U)
752     uM114Speed [114] Speed,
754     -- DO NOT EXCEED [speed]
755     -- Urg(N)/Alr(M)/Resp(W/U)
756     uM115Speed [115] Speed,
758     -- RESUME NORMAL SPEED
759     -- Urg(N)/Alr(M)/Resp(W/U)
760     uM116NULL [116] NULL,
762     -- CONTACT [unitname] [frequency]
763     -- Urg(N)/Alr(M)/Resp(W/U)
764     uM117UnitNameFrequency [117] UnitNameFrequency,
766     -- AT [position] CONTACT [unitname] [frequency]
767     -- Urg(N)/Alr(M)/Resp(W/U)
768     uM118PositionUnitNameFrequency [118] PositionUnitNameFrequency,
770     -- AT [time] CONTACT [unitname] [frequency]
771     -- Urg(N)/Alr(M)/Resp(W/U)
772     uM119TimeUnitNameFrequency [119] TimeUnitNameFrequency,
774     -- MONITOR [unitname] [frequency]
775     -- Urg(N)/Alr(M)/Resp(W/U)
776     uM120UnitNameFrequency [120] UnitNameFrequency,
778     -- AT [position] MONITOR [unitname] [frequency]
779     -- Urg(N)/Alr(M)/Resp(W/U)
780     uM121PositionUnitNameFrequency [121] PositionUnitNameFrequency,
782     -- AT [time] MONITOR [unitname] [frequency]
783     -- Urg(N)/Alr(M)/Resp(W/U)
784     uM122TimeUnitNameFrequency [122] TimeUnitNameFrequency,
786     -- SQUAWK [code]
787     -- Urg(N)/Alr(M)/Resp(W/U)
788     uM123Code [123] Code,
790     -- STOP SQUAWK
791     -- Urg(N)/Alr(M)/Resp(W/U)
792     uM124NULL [124] NULL,
794     -- SQUAWK MODE CHARLIE
795     -- Urg(N)/Alr(M)/Resp(W/U)
796    uM125NULL [125] NULL,
798     -- STOP SQUAWK MODE CHARLIE
799     -- Urg(N)/Alr(M)/Resp(W/U)
800     uM126NULL [126] NULL,
802     -- REPORT BACK ON ROUTE
803     -- Urg(N)/Alr(L)/Resp(W/U)
804     uM127NULL [127] NULL,
806     -- REPORT LEAVING [level]
807     -- Urg(N)/Alr(L)/Resp(W/U)
808     uM128Level [128] Level,
810     -- REPORT MAINTAINING [level]
811     -- Urg(N)/Alr(L)/Resp(W/U)
812     uM129Level [129] Level,
814     -- REPORT PASSING [position]
815     -- Urg(N)/Alr(L)/Resp(W/U)
816     uM130Position [130] Position,
818     -- REPORT REMAINING FUEL AND PERSONS ON BOARD
819     -- Urg(U)/Alr(M)/Resp(Y)
820     uM131NULL [131] NULL,
822     -- REPORT POSITION
823     -- Urg(N)/Alr(M)/Resp(Y)
824     uM132NULL [132] NULL,
826     -- REPORT PRESENT LEVEL
827     -- Urg(N)/Alr(M)/Resp(Y)
828     uM133NULL [133] NULL,
830     -- REPORT [speedtype] [speedtype] [speedtype]SPEED
831     -- Urg(N)/Alr(M)/Resp(Y)
832     uM134SpeedTypeSpeedTypeSpeedType [134] SpeedTypeSpeedTypeSpeedType,
834     -- CONFIRM ASSIGNED LEVEL
835     -- Urg(N)/Alr(L)/Resp(Y)
836     uM135NULL [135] NULL,
838     -- CONFIRM ASSIGNED SPEED
839     -- Urg(N)/Alr(L)/Resp(Y)
840     uM136NULL [136] NULL,
842     -- CONFIRM ASSIGNED ROUTE
843     -- Urg(N)/Alr(L)/Resp(Y)
844     uM137NULL [137] NULL,
846   -- CONFIRM TIME OVER REPORTED WAYPOINT
847   -- Urg(N)/Alr(L)/Resp(Y)
848     uM138NULL [138] NULL,
850     -- CONFIRM REPORTED WAYPOINT
851     -- Urg(N)/Alr(L)/Resp(Y)
852     uM139NULL [139] NULL,
854     -- CONFIRM NEXT WAYPOINT
855     -- Urg(N)/Alr(L)/Resp(Y)
856     uM140NULL [140] NULL,
858     -- CONFIRM NEXT WAYPOINT ETA
859     -- Urg(N)/Alr(L)/Resp(Y)
860     uM141NULL [141] NULL,
862     -- CONFIRM ENSUING WAYPOINT
863     -- Urg(N)/Alr(L)/Resp(Y)
864     uM142NULL [142] NULL,
866     -- CONFIRM REQUEST
867     -- Urg(N)/Alr(L)/Resp(Y)
868     uM143NULL [143] NULL,
870     -- CONFIRM SQUAWK
871     -- Urg(N)/Alr(L)/Resp(Y)
872     uM144NULL [144] NULL,
874     -- REPORT HEADING
875     -- Urg(N)/Alr(M)/Resp(Y)
876     uM145NULL [145] NULL,
878     -- REPORT GROUND TRACK
879     -- Urg(N)/Alr(M)/Resp(Y)
880     uM146NULL [146] NULL,
882     -- REQUEST POSITION REPORT
883     -- Urg(N)/Alr(M)/Resp(Y )
884     uM147NULL [147] NULL,
886     -- WHEN CAN YOU ACCEPT [level]
887     -- Urg(N)/Alr(L)/Resp(Y)
888     uM148Level [148] Level,
890     -- CAN YOU ACCEPT [level] AT [position]
891     -- Urg(N)/Alr(L)/Resp(A/N)
892     uM149LevelPosition [149] LevelPosition,
894     -- CAN YOU ACCEPT [level] AT [time]
895     -- Urg(N)/Alr(L)/Resp(A/N)
896     uM150LevelTime [150] LevelTime,
898     -- WHEN CAN YOU ACCEPT [speed]
899     -- Urg(N)/Alr(L)/Resp(Y)
900     uM151Speed  [151] Speed,
902     -- WHEN CAN YOU ACCEPT [specifiedDistance] [direction] OFFSET
903     -- Urg(N)/Alr(L)/Resp(Y)
904     uM152DistanceSpecifiedDirection [152] DistanceSpecifiedDirection,
906     -- ALTIMETER [altimeter]
907     -- Urg(N)/Alr(L)/Resp(R)
908     uM153Altimeter  [153] Altimeter,
910     -- RADAR SERVICE TERMINATED
911     -- Urg(N)/Alr(L)/Resp(R)
912     uM154NULL [154] NULL,
914     -- RADAR CONTACT [position]
915     -- Urg(N)/Alr(M)/Resp(R)
916     uM155Position [155] Position,
918     -- RADAR CONTACT LOST
919     -- Urg(N)/Alr(M)/Resp(R)
920     uM156NULL [156] NULL,
922     -- CHECK STUCK MICROPHONE [frequency]
923     -- Urg(U)/Alr(M)/Resp(N)
924     uM157Frequency  [157] Frequency,
926     -- ATIS [atiscode]
927     -- Urg(N)/Alr(L)/Resp(R)
928     uM158AtisCode [158] ATISCode,
930     -- ERROR [errorInformation]
931     -- Urg(U)/Alr(M)/Resp(N)
932     uM159ErrorInformation [159] ErrorInformation,
934     -- NEXT DATA AUTHORITY [facility]
935     -- Urg(L)/Alr(N)/Resp(N)
936     uM160Facility [160] Facility,
938     -- END SERVICE
939     -- Urg(L)/Alr(N)/Resp(N)
940     uM161NULL [161] NULL,
942     -- SERVICE UNAVAILABLE
943     -- Urg(L)/Alr(L)/Resp(N )
944     uM162NULL [162] NULL,
946     -- [facilitydesignation]
947     -- Urg(L)/Alr(N)/Resp(N)
948     uM163FacilityDesignation  [163] FacilityDesignation,
950     -- WHEN READY
951     -- Urg(L)/Alr(N)/Resp(N)
952     uM164NULL [164] NULL,
954     -- THEN
955     -- Urg(L)/Alr(N)/Resp(N)
956     uM165NULL [165] NULL,
958     -- DUE TO [traffictype]TRAFFIC
959     -- Urg(L)/Alr(N)/Resp(N)
960     uM166TrafficType [166] TrafficType,
962     -- DUE TO AIRSPACE RESTRICTION
963     -- Urg(L)/Alr(N)/Resp(N)
964     uM167NULL [167] NULL,
966     -- DISREGARD
967     -- Urg(U)/Alr(M)/Resp(R)
968     uM168NULL [168] NULL,
970     -- [freetext]
971     -- Urg(N)/Alr(L)/Resp(R)
972     uM169FreeText [169] FreeText,
974     -- [freetext]
975     -- Urg(D)/Alr(H)/Resp(R)
976     uM170FreeText [170] FreeText,
978     -- CLIMB AT [verticalRate] MINIMUM
979     -- Urg(N)/Alr(M)/Resp(W/U)
980     uM171VerticalRate [171] VerticalRate,
982     -- CLIMB AT [verticalRate] MAXIMUM
983     -- Urg(N)/Alr(M)/Resp(W/U)
984     uM172VerticalRate [172] VerticalRate,
986     -- DESCEND AT [verticalRate] MINIMUM
987     -- Urg(N)/Alr(M)/Resp(W/U)
988     uM173VerticalRate [173] VerticalRate,
990     -- DESCEND AT [verticalRate] MAXIMUM
991     -- Urg(N)/Alr(M)/Resp(W/U)
992     uM174VerticalRate [174] VerticalRate,
994     -- REPORT REACHING [level]
995     -- Urg(N)/Alr(L)/Resp(W/U)
996     uM175Level [175] Level,
998     -- MAINTAIN OWN SEPARATION AND VMC
999     -- Urg(N)/Alr(M)/Resp(W/U)
1000     uM176NULL [176] NULL,
1002     -- AT PILOTS DISCRETION
1003     -- Urg(L)/Alr(L)/Resp(N)
1004     uM177NULL [177] NULL,
1006     -- Reserved
1007     -- Urg(L)/Alr(L)/Resp(Y)
1008     uM178NULL [178] NULL,
1010     -- SQUAWK IDENT
1011     -- Urg(N)/Alr(M)/Resp(W/U)
1012     uM179NULL [179] NULL,
1014     -- REPORT REACHING BLOCK [level] TO [level]
1015     -- Urg(N)/Alr(L)/Resp(W/U)
1016     uM180LevelLevel [180] LevelLevel,
1018     -- REPORT DISTANCE [tofrom] [position]
1019     -- Urg(N)/Alr(M)/Resp(Y)
1020     uM181ToFromPosition [181] ToFromPosition,
1022     -- CONFIRM ATIS CODE
1023     -- Urg(N)/Alr(L)/Resp(Y)
1024     uM182NULL [182] NULL,
1026     -- [freetext]
1027     -- Urg(N)/Alr(M)/Resp(N)
1028     uM183FreeText [183] FreeText,
1030     -- AT [time] REPORT DISTANCE [tofrom] [position]
1031     -- Urg(N)/Alr(L)/Resp(Y)
1032     uM184TimeToFromPosition [184] TimeToFromPosition,
1034     -- AFTER PASSING [position] CLIMB TO [level]
1035     -- Urg(N)/Alr(M)/Resp(W/U)
1036     uM185PositionLevel [185] PositionLevel,
1038     -- AFTER PASSING [position] DESCEND TO [level]
1039     -- Urg(N)/Alr(M)/Resp(W/U)
1040     uM186PositionLevel [186] PositionLevel,
1042     -- [freetext]
1043     -- Urg(L)/Alr(N)/Resp(N)
1044     uM187FreeText [187] FreeText,
1046     -- AFTER PASSING [position] MAINTAIN [speed]
1047     -- Urg(N)/Alr(M)/Resp(W/U)
1048     uM188PositionSpeed [188] PositionSpeed,
1050     -- ADJUST SPEED TO [speed]
1051     -- Urg(N)/Alr(M)/Resp(W/U)
1052     uM189Speed [189] Speed,
1054     -- FLY HEADING [degrees]
1055     -- Urg(N)/Alr(M)/Resp(W/U)
1056     uM190Degrees [190] Degrees,
1058     -- ALL ATS TERMINATED
1059     -- Urg(N)/Alr(M)/Resp(R)
1060     uM191NULL [191] NULL,
1062     -- REACH [level] BY [time]
1063   -- Urg(N)/Alr(M)/Resp(W/U)
1064     uM192LevelTime [192] LevelTime,
1066     -- IDENTIFICATION LOST
1067     -- Urg(N)/Alr(M)/Resp(R)
1068     uM193NULL [193] NULL,
1070     -- [freetext]
1071     -- Urg(N)/Alr(L)/Resp(Y)
1072     uM194FreeText [194] FreeText,
1074     -- [freetext]
1075     -- Urg(L)/Alr(L)/Resp(R)
1076     uM195FreeText [195] FreeText,
1078     -- [freetext]
1079     -- Urg(N)/Alr(M)/Resp
1080     uM196FreeText [196] FreeText,
1082     -- [freetext]
1083     -- Urg(U)/Alr(M)/Resp(W/U)
1084     uM197FreeText [197] FreeText,
1086     -- [freetext]
1087     -- Urg(D)/Alr(H)/Resp(W/U)
1088     uM198FreeText [198] FreeText,
1090     -- [freetext]
1091     -- Urg(N)/Alr(L)/Resp(N)
1092     uM199FreeText [199] FreeText,
1094     -- REPORT REACHING
1095     -- Urg(N)/Alr(L)/Resp(W/U)
1096     uM200NULL [200] NULL,
1098     -- Not Used
1099     -- Urg(L)/Alr(L)/Resp(N)
1100     uM201NULL [201] NULL,
1102     -- Not Used
1103     -- Urg(L)/Alr(L)/Resp(N)
1104     uM202NULL [202] NULL,
1106     -- [freetext]
1107     -- Urg(N)/Alr(M)/Resp(R)
1108     uM203FreeText [203] FreeText,
1110     -- [freetext]
1111     -- Urg(N)/Alr(M)/Resp(Y)
1112     uM204FreeText [204] FreeText,
1114     -- [freetext]
1115     -- Urg(N)/Alr(M)/Resp(A/N)
1116     uM205FreeText [205] FreeText,
1118     -- [freetext]
1119     -- Urg(L)/Alr(N)/Resp(Y)
1120     uM206FreeText [206] FreeText,
1122     -- [freetext]
1123     -- Urg(L)/Alr(L)/Resp(Y)
1124     uM207FreeText [207] FreeText,
1126     -- [freetext]
1127     -- Urg(L)/Alr(L)/Resp(N)
1128     uM208FreeText [208] FreeText,
1130     -- REACH [level] BY [position]
1131     -- Urg(N)/Alr(M)/Resp(W/U)
1132     uM209LevelPosition [209] LevelPosition,
1134     -- IDENTIFIED [position]
1135     -- Urg(N)/Alr(M)/Resp(R)
1136     uM210Position [210] Position,
1138     -- REQUEST FORWARDED
1139     -- Urg(N)/Alr(L)/Resp(N)
1140     uM211NULL [211] NULL,
1142     -- [facilitydesignation] ATIS [atiscode] CURRENT
1143     -- Urg(N)/Alr(L)/Resp(R)
1144     uM212FacilityDesignationATISCode [212] FacilityDesignationATISCode,
1146     -- [facilitydesignation] ALTIMETER [altimeter]
1147     -- Urg(N)/Alr(L)/Resp(R)
1148     uM213FacilityDesignationAltimeter [213] FacilityDesignationAltimeter,
1150     -- RVR RUNWAY [runway] [rvr]
1151     -- Urg(N)/Alr(M)/Resp(R)
1152     uM214RunwayRVR [214] RunwayRVR,
1154     -- TURN [direction][degrees]
1155     -- Urg(N)/Alr(M)/Resp(W/U)
1156     uM215DirectionDegrees [215] DirectionDegrees,
1158     -- REQUEST FLIGHT PLAN
1159     -- Urg(N)/Alr(M)/Resp(Y)
1160     uM216NULL [216] NULL,
1162     -- REPORT ARRIVAL
1163     -- Urg(N)/Alr(M)/Resp(Y)
1164     uM217NULL [217] NULL,
1166     -- REQUEST ALREADY RECEIVED
1167     -- Urg(L)/Alr(N)/Resp(N)
1168     uM218NULL [218] NULL,
1170     -- STOP CLIMB AT [level]
1171     -- Urg(U)/Alr(M)/Resp(W/U)
1172     uM219Level [219] Level,
1174     -- STOP DESCENT AT [level]
1175     -- Urg(U)/Alr(M)/Resp(W/U)
1176     uM220Level [220] Level,
1178     -- STOP TURN HEADING [degrees]
1179     -- Urg(U)/Alr(M)/Resp(W/U)
1180     uM221Degrees [221] Degrees,
1182     -- NO SPEED RESTRICTION
1183     -- Urg(L)/Alr(L)/Resp(R)
1184     uM222NULL [222] NULL,
1186     -- REDUCE TO MINIMUM APPROACH SPEED
1187     -- Urg(N)/Alr(M)/Resp(W/U)
1188     uM223NULL [223] NULL,
1190   -- NO DELAY EXPECTED
1191   -- Urg(N)/Alr(L)/Resp(R)
1192     uM224NULL [224] NULL,
1194     -- DELAY NOT DETERMINED
1195     -- Urg(N)/Alr(L)/Resp(R)
1196     uM225NULL [225] NULL,
1198     -- EXPECTED APPROACH TIME [time]
1199     -- Urg(N)/Alr(L)/Resp(R)
1200     uM226Time [226] Time,
1202     -- LOGICAL ACKNOWLEDGMENT
1203     -- Urg(N)/Alr(M)/Resp(N)
1204     uM227NULL [227] NULL,
1206     -- REPORT ETA [position]
1207     --Urg(L)/Alr(L)/Resp(Y)
1208     uM228Position [228] Position,
1210     -- REPORT ALTERNATE AERODROME
1211     -- Urg(L)/Alr(L)/Resp(Y)
1212     uM229NULL [229] NULL,
1214     -- IMMEDIATELY
1215     -- Urg(D)/Alr(H)/Resp(N)
1216     uM230NULL [230] NULL,
1218     -- STATE PREFERRED LEVEL
1219     -- Urg(L)/Alr(L)/Resp(Y)
1220     uM231NULL [231] NULL,
1222     -- STATE TOP OF DESCENT
1223     -- Urg(L)/Alr(L)/Resp(Y)
1224     uM232NULL [232] NULL,
1226     -- USE OF LOGICAL ACKNOWLEDGMENT PROHIBITED
1227     -- Urg(N)/Alr(M)/Resp(N)
1228     uM233NULL [233] NULL,
1230     -- FLIGHT PLAN NOT HELD
1231     -- Urg(L)/Alr(L)/Resp(N)
1232     uM234NULL [234] NULL,
1234     -- ROGER 7500
1235     -- Urg(U)/Alr(H)/Resp(N)
1236     uM235NULL [235] NULL,
1238     -- LEAVE CONTROLLED AIRSPACE
1239     -- Urg(N)/Alr(M)/Resp(W/U)
1240     uM236NULL [236] NULL,
1241     ...,
1243     -- REQUEST AGAIN WITH NEXT UNIT
1244     -- Urg(N)/Alr(L)/Resp(N)
1245     uM237NULL [237]NULL
1248 ------------------------------------------------------------------------------------
1249 -- Downlink message element
1250 -- ----------------------------------------------------------------------------------
1251 ATCDownlinkMsgElementId ::= CHOICE
1253     -- WILCO
1254     -- Urg(N)/Alr(M)/Resp(N)
1255     dM0NULL [0] NULL,
1257     --UNABLE
1258     -- Urg(N)/Alr(M)/Resp(N)
1259     dM1NULL [1] NULL,
1261     -- STANDBY
1262     -- Urg(N)/Alr(M)/Resp(N)
1263     dM2NULL [2] NULL,
1265     -- ROGER
1266     -- Urg(N)/Alr(M)/Resp(N)
1267     dM3NULL [3] NULL,
1269     -- AFFIRM
1270     -- Urg(N)/Alr(M)/Resp(N)
1271     dM4NULL [4] NULL,
1273     -- NEGATIVE
1274     -- Urg(N)/Alr(M)/Resp(N)
1275     dM5NULL [5] NULL,
1277     -- REQUEST [level]
1278   -- Urg(N)/Alr(L)/Resp(Y)
1279     dM6Level  [6] Level,
1281     -- REQUEST BLOCK [level] TO [level]
1282   -- Urg(N)/Alr(L)/Resp(Y)
1283     dM7LevelLevel [7] LevelLevel,
1285     -- REQUEST CRUISE CLIMB TO [level]
1286     -- Urg(N)/Alr(L)/Resp(Y)
1287     dM8Level [8] Level,
1289     -- REQUEST CLIMB TO [level]
1290     -- Urg(N)/Alr(L)/Resp(Y)
1291     dM9Level  [9] Level,
1293     -- REQUEST DESCENT TO [level]
1294     -- Urg(N)/Alr(L)/Resp(Y)
1295     dM10Level [10] Level,
1297     -- AT [position] REQUEST CLIMB TO [level]
1298     -- Urg(N)/Alr(L)/Resp(Y)
1299     dM11PositionLevel [11] PositionLevel,
1301     -- AT [position] REQUEST DESCENT TO [level]
1302     -- Urg(N)/Alr(L)/Resp(Y)
1303     dM12PositionLevel [12] PositionLevel,
1305     -- AT [time] REQUEST CLIMB TO [level]
1306     -- Urg(N)/Alr(L)/Resp(Y)
1307     dM13TimeLevel [13] TimeLevel,
1309     -- AT [time] REQUEST DESCENT TO [level]
1310     -- Urg(N)/Alr(L)/Resp(Y)
1311     dM14TimeLevel [14] TimeLevel,
1313     -- REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
1314     -- Urg(N)/Alr(L)/Resp(Y)
1315     dM15DistanceSpecifiedDirection  [15] DistanceSpecifiedDirection,
1317     -- AT [position] REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
1318     -- Urg(N)/Alr(L)/Resp(Y)
1319     dM16PositionDistanceSpecifiedDirection [16] PositionDistanceSpecifiedDirection,
1321     -- AT [time] REQUEST OFFSET [specifiedDistance] [direction] OF ROUTE
1322     -- Urg(N)/Alr(L)/Resp(Y)
1323     dM17TimeDistanceSpecifiedDirection [17] TimeDistanceSpecifiedDirection,
1325     -- REQUEST [speed]
1326     -- Urg(N)/Alr(L)/Resp(Y)
1327     dM18Speed [18] Speed,
1329     -- REQUEST [speed] TO [speed]
1330     -- Urg(N)/Alr(L)/Resp(Y)
1331     dM19SpeedSpeed  [19] SpeedSpeed,
1333     -- REQUEST VOICE CONTACT
1334     -- Urg(N)/Alr(L)/Resp(Y)
1335     dM20NULL  [20] NULL,
1337     -- REQUEST VOICE CONTACT [frequency]
1338     -- Urg(N)/Alr(L)/Resp(Y)
1339     dM21Frequency [21] Frequency,
1341     -- REQUEST DIRECT TO [position]
1342     -- Urg(N)/Alr(L)/Resp(Y)
1343     dM22Position  [22] Position,
1345     -- REQUEST [procedureName]
1346     -- Urg(N)/Alr(L)/Resp(Y)
1347     dM23ProcedureName [23] ProcedureName,
1349     -- REQUEST CLEARANCE [routeClearance]
1350     -- Urg(N)/Alr(L)/Resp(Y)
1351     dM24RouteClearance  [24] RouteClearanceIndex,
1353     -- REQUEST [clearanceType] CLEARANCE
1354     -- Urg(N)/Alr(L)/Resp(Y)
1355     dM25ClearanceType [25] ClearanceType,
1357     -- REQUEST WEATHER DEVIATION TO [position] VIA [routeClearance]
1358     -- Urg(N)/Alr(M)/Resp(Y)
1359     dM26PositionRouteClearance [26] PositionRouteClearanceIndex,
1361     -- REQUEST WEATHER DEVIATION UP TO [specifiedDistance] [direction] OF ROUTE
1362     -- Urg(N)/Alr(M)/Resp(Y)
1363     dM27DistanceSpecifiedDirection [27] DistanceSpecifiedDirection,
1365     -- LEAVING [level]
1366     -- Urg(N)/Alr(L)/Resp(N)
1367     dM28Level [28] Level,
1369     -- CLIMBING TO [level]
1370     -- Urg(N)/Alr(L)/Resp(N)
1371     dM29Level [29]Level,
1373     -- DESCENDING TO [level]
1374     -- Urg(N)/Alr(L)/Resp(N)
1375     dM30Level [30] Level,
1377     -- PASSING [position]
1378     -- Urg(N)/Alr(L)/Resp(N)
1379     dM31Position  [31] Position,
1381     -- PRESENT LEVEL [level]
1382     -- Urg(N)/Alr(L)/Resp(N)
1383     dM32Level [32] Level,
1385     -- PRESENT POSITION [position]
1386     -- Urg(N)/Alr(L)/Resp(N)
1387     dM33Position [33] Position,
1389     -- PRESENT SPEED [speed]
1390     -- Urg(N)/Alr(L)/Resp(N)
1391     dM34Speed [34] Speed,
1393     -- PRESENT HEADING [degrees]
1394     -- Urg(N)/Alr(L)/Resp(N)
1395     dM35Degrees [35] Degrees,
1397     -- PRESENT GROUND TRACK [degrees]
1398     -- Urg(N)/Alr(L)/Resp(N)
1399     dM36Degrees [36] Degrees,
1401     -- MAINTAINING [level]
1402     -- Urg(N)/Alr(L)/Resp(N)
1403     dM37Level [37] Level,
1405     -- ASSIGNED LEVEL [level]
1406     -- Urg(N)/Alr(M)/Resp(N)
1407     dM38Level [38] Level,
1409     -- ASSIGNED SPEED [speed]
1410     -- Urg(N)/Alr(M)/Resp(N)
1411     dM39Speed [39] Speed,
1413     -- ASSIGNED ROUTE [routeClearance]
1414     -- Urg(N)/Alr(M)/Resp(N)
1415     dM40RouteClearance [40] RouteClearanceIndex,
1417     -- BACK ON ROUTE
1418     -- Urg(N)/Alr(M)/Resp(N)
1419     dM41NULL [41] NULL,
1421     -- NEXT WAYPOINT [position]
1422     -- Urg(N)/Alr(L)/Resp(N)
1423     dM42Position [42] Position,
1425     -- NEXT WAYPOINT ETA [time]
1426     -- Urg(N)/Alr(L)/Resp(N)
1427     dM43Time [43] Time,
1429     -- ENSUING WAYPOINT [position]
1430     -- Urg(N)/Alr(L)/Resp(N)
1431     dM44Position [44] Position,
1433     -- REPORTED WAYPOINT [position]
1434     -- Urg(N)/Alr(L)/Resp(N)
1435     dM45Position [45] Position,
1437     -- REPORTED WAYPOINT [time]
1438     -- Urg(N)/Alr(L)/Resp(N)
1439     dM46Time [46] Time,
1441     -- SQUAWKING [code]
1442     -- Urg(N)/Alr(L)/Resp(N)
1443     dM47Code [47] Code,
1445     -- POSITION REPORT [positionreport]
1446     -- Urg(N)/Alr(M)/Resp(N)
1447     dM48PositionReport [48] PositionReport,
1449     -- WHEN CAN WE EXPECT [speed]
1450     -- Urg(L)/Alr(L)/Resp(Y)
1451     dM49Speed [49] Speed,
1453     -- WHEN CAN WE EXPECT [speed] TO [speed]
1454     -- Urg(L)/Alr(L)/Resp(Y)
1455     dM50SpeedSpeed [50] SpeedSpeed,
1457     -- WHEN CAN WE EXPECT BACK ON ROUTE
1458     -- Urg(L)/Alr(L)/Resp(Y)
1459     dM51NULL [51] NULL,
1461     -- WHEN CAN WE EXPECT LOWER LEVEL
1462     -- Urg(L)/Alr(L)/Resp(Y)
1463     dM52NULL [52] NULL,
1465     -- WHEN CAN WE EXPECT HIGHER LEVEL Urg(L)/Alr(L)/Resp(Y)
1466     dM53NULL [53] NULL,
1468     -- WHEN CAN WE EXPECT CRUISE CLIMB TO [level]
1469     -- Urg(L)/Alr(L)/Resp(Y)
1470     dM54Level [54] Level,
1472     -- PAN PAN PAN
1473     -- Urg(U)/Alr(H)/Resp(Y)
1474     dM55NULL  [55] NULL,
1476     -- MAYDAY MAYDAY MAYDAY
1477     -- Urg(D)/Alr(H)/Resp(Y)
1478     dM56NULL  [56] NULL,
1480     -- [remainingFuel] OF FUEL REMAINING AND [personsonboard] PERSONS ON BOARD
1481     -- Urg(U)/Alr(H)/Resp(Y)
1482     dM57RemainingFuelPersonsOnBoard [57] RemainingFuelPersonsOnBoard,
1484     -- CANCEL EMERGENCY
1485     -- Urg(U)/Alr(M)/Resp(Y)
1486     dM58NULL  [58] NULL,
1488     -- DIVERTING TO [position] VIA [routeClearance]
1489     -- Urg(U)/Alr(H)/Resp(Y)
1490     dM59PositionRouteClearance  [59] PositionRouteClearanceIndex,
1492     -- OFFSETTING [specifiedDistance] [direction] OF ROUTE
1493     -- Urg(U)/Alr(H)/Resp(Y)
1494     dM60DistanceSpecifiedDirection [60] DistanceSpecifiedDirection,
1496     -- DESCENDING TO [level]
1497     -- Urg(U)/Alr(H)/Resp(Y)
1498     dM61Level [61] Level,
1500     -- ERROR [errorInformation]
1501     -- Urg(U)/Alr(L)/Resp(N)
1502     dM62ErrorInformation [62] ErrorInformation,
1504     -- NOT CURRENT DATA AUTHORITY
1505     -- Urg(L)/Alr(L)/Resp(N)
1506     dM63NULL [63] NULL,
1508     -- [facilitydesignation]
1509     -- Urg(L)/Alr(L)/Resp(N)
1510     dM64FacilityDesignation [64] FacilityDesignation,
1512     --  DUE TO WEATHER
1513     -- Urg(L)/Alr(L)/Resp(N)
1514     dM65NULL [65] NULL,
1516     -- DUE TO AIRCRAFT PERFORMANCE
1517     -- Urg(L)/Alr(L)/Resp(N)
1518     dM66NULL [66] NULL,
1520     -- [freetext]
1521     -- Urg(N)/Alr(L)/Resp(N)
1522     dM67FreeText [67] FreeText,
1524     -- [freetext]
1525     -- Urg(D)/Alr(H)/Resp(Y)
1526     dM68FreeText [68] FreeText,
1528     -- REQUEST VMC DESCENT
1529     -- Urg(N)/Alr(L)/Resp(Y)
1530     dM69NULL [69] NULL,
1532     -- REQUEST HEADING [degrees]
1533     -- Urg(N)/Alr(L)/Resp(Y)
1534     dM70Degrees [70] Degrees,
1536     -- REQUEST GROUND TRACK [degrees]
1537     -- Urg(N)/Alr(L)/Resp(Y)
1538     dM71Degrees [71] Degrees,
1540     -- REACHING [level]
1541     -- Urg(N)/Alr(L)/Resp(N)
1542     dM72Level [72] Level,
1544     -- [versionnumber]
1545     -- Urg(L)/Alr(L)/Resp(N)
1546     dM73Versionnumber [73] VersionNumber,
1548     -- REQUEST TO MAINTAIN OWN SEPARATION AND VMC
1549     -- Urg(L)/Alr(L)/Resp(Y)
1550     dM74NULL [74] NULL,
1552     -- AT PILOTS DISCRETION
1553     -- Urg(L)/Alr(L)/Resp(N)
1554     dM75NULL [75] NULL,
1556     -- REACHING BLOCK [level] TO [level]
1557     -- Urg(N)/Alr(L)/Resp(N)
1558     dM76LevelLevel [76] LevelLevel,
1560     -- ASSIGNED BLOCK [level] TO [level]
1561     -- Urg(N)/Alr(M)/Resp(N)
1562     dM77LevelLevel  [77] LevelLevel,
1564     -- AT [time] [distance] [tofrom] [position]
1565     -- Urg(N)/Alr(L)/Resp(N)
1566     dM78TimeDistanceToFromPosition  [78] TimeDistanceToFromPosition,
1568     -- ATIS [atiscode]
1569     -- Urg(N)/Alr(L)/Resp(N)
1570     dM79AtisCode  [79] ATISCode,
1572     -- DEVIATING UP TO [specifiedDistance] [direction] OF ROUTE
1573     -- Urg(U)/Alr(H)/Resp(Y)
1574     dM80DistanceSpecifiedDirection [80] DistanceSpecifiedDirection,
1576     -- WE CAN ACCEPT [level] AT [time]
1577     -- Urg(L)/Alr(L)/Resp(N)
1578     dM81LevelTime [81] LevelTime,
1580     -- WE CANNOT ACCEPT [level]
1581     -- Urg(L)/Alr(L)/Resp(N)
1582     dM82Level [82] Level,
1584     -- WE CAN ACCEPT [speed] AT [time]
1585     -- Urg(L)/Alr(L)/Resp(N)
1586     dM83SpeedTime [83] SpeedTime,
1588     -- WE CANNOT ACCEPT [speed]
1589     -- Urg(L)/Alr(L)/Resp(N)
1590     dM84Speed [84] Speed,
1592     -- WE CAN ACCEPT [specifiedDistance] [direction] AT [time]
1593     -- Urg(L)/Alr(L)/Resp(N)
1594     dM85DistanceSpecifiedDirectionTime [85] DistanceSpecifiedDirectionTime,
1596     -- WE CANNOT ACCEPT [specifiedDistance] [direction]
1597     -- Urg(L)/Alr(L)/Resp(N)
1598     dM86DistanceSpecifiedDirection  [86] DistanceSpecifiedDirection,
1600     -- WHEN CAN WE EXPECT CLIMB TO [level]
1601     -- Urg(L)/Alr(L)/Resp(Y)
1602     dM87Level [87] Level,
1604     -- WHEN CAN WE EXPECT DESCENT TO [level]
1605     --Urg(L)/Alr(L)/Resp(Y)
1606     dM88Level [88] Level,
1608     -- MONITORING [unitname] [frequency]
1609     -- Urg(U)/Alr(M)/Resp(N)
1610     dM89UnitnameFrequency [89] UnitNameFrequency,
1612     -- [freetext]
1613     -- Urg(N)/Alr(M)/Resp(N)
1614     dM90FreeText  [90] FreeText,
1616     -- [freetext]
1617     -- Urg(N)/Alr(L)/Resp(Y)
1618     dM91FreeText  [91] FreeText,
1620     -- [freetext]
1621     -- Urg(L)/Alr(L)/Resp(Y)
1622     dM92FreeText [92] FreeText,
1624     -- [freetext]
1625     -- Urg(U)/Alr(H)/Resp(N)
1626     dM93FreeText [93] FreeText,
1628     -- [freetext]
1629     -- Urg(D)/Alr(H)/Resp(N)
1630     dM94FreeText [94] FreeText,
1632     -- [freetext]
1633     -- Urg(U)/Alr(M)/Resp(N)
1634     dM95FreeText [95] FreeText,
1636     -- [freetext]
1637     -- Urg(U)/Alr(L)/Resp(N)
1638     dM96FreeText [96] FreeText,
1640     -- [freetext]
1641     -- Urg(L)/Alr(L)/Resp(N)
1642     dM97FreeText [97] FreeText,
1644     -- [freetext]
1645     -- Urg(N)/Alr(N)/Resp(N)
1646     dM98FreeText [98] FreeText,
1648     -- CURRENT DATA AUTHORITY
1649     -- Urg(L)/Alr(L)/Resp(N)
1650     dM99NULL [99] NULL,
1652     -- LOGICAL ACKNOWLEDGMENT
1653     -- Urg(N)/Alr(M)/Resp(N)
1654     dM100NULL [100] NULL,
1656     -- REQUEST END OF SERVICE
1657     -- Urg(L)/Alr(L)/Resp(Y)
1658     dM101NULL [101] NULL,
1660     -- LANDING REPORT
1661     -- Urg(N)/Alr(N)/Resp(N)
1662     dM102NULL [102] NULL,
1664     -- CANCELLING IFR
1665     -- Urg(N)/Alr(L)/Resp(Y)
1666     dM103NULL [103] NULL,
1668     -- ETA[position][time]
1669     -- Urg(L)/Alr(L)/Resp(N)
1670     dM104PositionTime [104] PositionTime,
1672     -- ALTERNATE AERODROME[airport]
1673     -- Urg(L)/Alr(L)/Resp(N)
1674     dM105Airport [105] Airport,
1676     -- PREFERRED LEVEL[level]
1677     -- Urg(L)/Alr(L)/Resp(N)
1678     dM106Level [106] Level,
1680     -- NOT AUTHORIZED NEXT DATA AUTHORITY
1681     -- Urg(L)/Alr(L)/Resp(N)
1682     dM107NULL [107] NULL,
1684     -- DE-ICING COMPLETE
1685     -- Urg(L)/Alr(L)/Resp(N)
1686     dM108NULL [108] NULL,
1688     -- TOP OF DESCENT [time]
1689     -- Urg(L)/Alr(L)/Resp(N)
1690     dM109Time [109] Time,
1692     -- TOP OF DESCENT [position]
1693     -- Urg(L)/Alr(L)/Resp(N)
1694     dM110Position [110] Position,
1696     -- TOP OF DESCENT [time] [position]
1697     -- Urg(L)/Alr(L)/Resp(N)
1698     dM111TimePosition [111] TimePosition,
1700     -- SQUAWKING 7500
1701     -- Urg(U)/Alr(H)/Resp(N)
1702     dM112NULL [112] NULL,
1704     -- [speedType] [speedType] [speedType] SPEED [speed]
1705     -- Urg(N)/Alr(L)/Resp(N)
1706     dM113SpeedTypeSpeedTypeSpeedTypeSpeed [113] SpeedTypeSpeedTypeSpeedTypeSpeed,
1708     ...
1711 AircraftAddress ::= BIT STRING (SIZE(24))
1713 AircraftFlightIdentification ::= IA5String (SIZE (2..8))
1715 Airport ::= IA5String (SIZE (4))
1717 Altimeter ::= CHOICE
1719     altimeterEnglish  [0] AltimeterEnglish,
1720     altimeterMetric [1] AltimeterMetric
1723 AltimeterEnglish ::= INTEGER (2200..3200)
1724 -- unit = Inches Mercury, Range (22.00 .. 32.00), resolution = 0.01
1726 AltimeterMetric ::= INTEGER (7500..12500)
1727 -- unit = Hectopascal, Range (750.0..1250.0), resolution = 0.1
1729 ATISCode ::= IA5String (SIZE (1))
1731 ATSRouteDesignator ::= IA5String (SIZE (2..7))
1733 ATWAlongTrackWaypoint ::= SEQUENCE
1735     position    [0] Position,
1736     aTWDistance [1] ATWDistance,
1737     speed       [2] Speed             OPTIONAL,
1738     aTWLevels   [3] ATWLevelSequence  OPTIONAL
1741 ATWLevel ::= SEQUENCE
1743     atw ATWLevelTolerance,
1744     level Level
1747 ATWLevelSequence ::= SEQUENCE SIZE (1..2) OF ATWLevel
1749 ATWLevelTolerance ::= ENUMERATED
1751     at        (0),
1752     atorabove (1),
1753     atorbelow (2)
1756 ATWDistance ::= SEQUENCE
1758     atwDistanceTolerance  ATWDistanceTolerance,
1759     distance  Distance
1762 ATWDistanceTolerance ::= ENUMERATED
1764     plus  (0),
1765     minus (1)
1768 ClearanceType ::= ENUMERATED
1770     noneSpecified (0),
1771     approach      (1),
1772     departure     (2),
1773     further       (3),
1774     start-up      (4),
1775     pushback      (5),
1776     taxi          (6),
1777     take-off      (7),
1778     landing       (8),
1779     oceanic       (9),
1780     en-route      (10),
1781     downstream    (11),
1782     ...
1785 Code ::= SEQUENCE SIZE (4) OF CodeOctalDigit
1787 CodeOctalDigit ::= INTEGER (0..7)
1789 ControlledTime ::= SEQUENCE
1791     time  Time,
1792     timeTolerance TimeTolerance
1795 Date ::= SEQUENCE
1797     year  Year,
1798     month Month,
1799     day Day
1802 DateTimeGroup ::= SEQUENCE
1804     date  Date,
1805     timehhmmss  Timehhmmss
1808 Day ::= INTEGER (1..31)
1809 --unit = Day, Range (1..31), resolution = 1
1811 DegreeIncrement ::= INTEGER (1..20)
1812 --unit = Degree, Range (1..20), resolution = 1
1814 Degrees ::= CHOICE
1816     degreesMagnetic [0] DegreesMagnetic,
1817     degreesTrue     [1] DegreesTrue
1820 DegreesMagnetic ::= INTEGER (1..360)
1821 --unit = degree, Range (1..360), resolution = 1
1823 DegreesTrue ::= INTEGER (1..360)
1824 --unit = degree, Range (1..360), resolution = 1
1826 DepartureClearance ::= SEQUENCE
1828     aircraftFlightIdentification  [0] AircraftFlightIdentification,
1829     clearanceLimit                [1] Position,
1830     flightInformation             [2] FlightInformation           OPTIONAL,
1831     furtherInstructions           [3] FurtherInstructions         OPTIONAL
1834 DepartureMinimumInterval ::= INTEGER (1..150)
1835 --unit = Minute, Range (0.1..15.0), resolution = 0.1
1837 Direction ::= ENUMERATED
1839     left        (0),
1840     right       (1),
1841     eitherSide  (2),
1842     north       (3),
1843     south       (4),
1844     east        (5),
1845     west        (6),
1846     northEast   (7),
1847     northWest   (8),
1848     southEast   (9),
1849     southWest   (10)
1852 DirectionDegrees ::= SEQUENCE
1854     direction Direction,
1855     degrees Degrees
1858 Distance ::= CHOICE
1860     distanceNm  [0] DistanceNm,
1861     distanceKm  [1] DistanceKm
1865 DistanceKm ::= INTEGER (0..8000)
1866 --  unit = Kilometer, Range (0..2000), resolution = 0.25
1868 DistanceNm ::= INTEGER (0..9999)
1869 --  unit = Nautical Mile, Range (0..999.9), resolution = 0.1
1871 DistanceSpecified ::= CHOICE
1873     distanceSpecifiedNm [0] DistanceSpecifiedNm,
1874     distanceSpecifiedKm [1] DistanceSpecifiedKm
1878 DistanceSpecifiedDirection ::= SEQUENCE
1880     distanceSpecified DistanceSpecified,
1881     direction Direction
1884 DistanceSpecifiedDirectionTime ::= SEQUENCE
1886     distanceSpecifiedDirection  DistanceSpecifiedDirection,
1887     time  Time
1890 DistanceSpecifiedKm ::= INTEGER (1..500)
1891 --  unit = Kilometer, Range (1..500), resolution = 1
1893 DistanceSpecifiedNm ::= INTEGER (1..250)
1894 --  unit = Nautical Mile, Range (1..250), resolution = 1
1896 ErrorInformation ::= ENUMERATED
1898     unrecognizedMsgReferenceNumber    (0),
1899     logicalAcknowledgmentNotAccepted  (1),
1900     insufficientResources             (2),
1901     invalidMessageElementCombination  (3),
1902     invalidMessageElement             (4),
1903     ...
1906 Facility ::= CHOICE{
1907     noFacility            [0] NULL,
1908     facilityDesignation   [1] FacilityDesignation
1911 FacilityDesignation ::= IA5String (SIZE (4..8))
1913 FacilityFunction ::= ENUMERATED
1915     center            (0),
1916     approach          (1),
1917     tower             (2),
1918     final             (3),
1919     groundControl     (4),
1920     clearanceDelivery (5),
1921     departure         (6),
1922     control           (7),
1923     radio             (8),
1924     ...
1927 FacilityDesignationAltimeter ::= SEQUENCE
1929     facilityDesignation FacilityDesignation,
1930     altimeter Altimeter
1933 FacilityDesignationATISCode ::= SEQUENCE
1935     facilityDesignation FacilityDesignation,
1936     aTISCode  ATISCode
1939 FacilityName ::= IA5String (SIZE (3..18))
1941 Fix ::= IA5String (SIZE (1..5))
1943 FixName ::= SEQUENCE
1945     name    [0] Fix,
1946     latlon  [1] LatitudeLongitude OPTIONAL
1949 FlightInformation ::= CHOICE
1951     routeOfFlight   [0] RouteInformation,
1952     levelsOfFlight  [1] LevelsOfFlight,
1953     routeAndLevels  [2] RouteAndLevels
1956 FreeText ::= IA5String (SIZE (1..256))
1958 Frequency ::= CHOICE
1960     frequencyhf         [0] Frequencyhf,
1961     frequencyvhf        [1] Frequencyvhf,
1962     frequencyuhf        [2] Frequencyuhf,
1963     frequencysatchannel [3] Frequencysatchannel
1966 Frequencyhf ::= INTEGER (2850..28000)
1967 --  unit = Kilohertz, Range (2850..28000), resolution = 1
1969 Frequencysatchannel ::= NumericString (SIZE (12))
1970 --  Frequencysatchannel corresponds to a 12 digit telephone number
1972 Frequencyuhf ::= INTEGER (9000..15999)
1973 --  unit = Megahertz, Range (225.000..399.975), resolution = 0.025
1975 Frequencyvhf ::= INTEGER (23600..27398)
1976 --  unit = Megahertz, Range (118.000..136.990), resolution = 0.005
1978 FurtherInstructions ::= SEQUENCE
1980     code                [0] Code              OPTIONAL,
1981     frequencyDeparture  [1] UnitNameFrequency OPTIONAL,
1982     clearanceExpiryTime [2] Time              OPTIONAL,
1983     airportDeparture    [3] Airport           OPTIONAL,
1984     airportDestination  [4] Airport           OPTIONAL,
1985     timeDeparture       [5] TimeDeparture     OPTIONAL,
1986     runwayDeparture     [6] Runway            OPTIONAL,
1987     revisionNumber      [7] RevisionNumber    OPTIONAL,
1988     aTISCode            [8] ATISCode          OPTIONAL
1992 Holdatwaypoint ::= SEQUENCE
1994     position                [0] Position,
1995     holdatwaypointspeedlow  [1] Speed       OPTIONAL,
1996     aTWlevel                [2] ATWLevel    OPTIONAL,
1997     holdatwaypointspeedhigh [3] Speed       OPTIONAL,
1998     direction               [4] Direction   OPTIONAL,
1999     degrees                 [5] Degrees     OPTIONAL,
2000     eFCtime                 [6] Time        OPTIONAL,
2001     legtype                 [7] LegType     OPTIONAL
2004 HoldClearance ::= SEQUENCE
2006     position  [0] Position,
2007     level     [1] Level,
2008     degrees   [2] Degrees,
2009     direction [3] Direction,
2010     legType   [4] LegType       OPTIONAL
2014 Humidity ::= INTEGER (0..100)
2015 --  unit = Percent humidity, Range (0..100), resolution = 1
2017 InterceptCourseFrom ::= SEQUENCE
2019     fromSelection InterceptCourseFromSelection,
2020     degrees       Degrees
2023 InterceptCourseFromSelection ::= CHOICE
2025     publishedIdentifier       [0] PublishedIdentifier,
2026     latitudeLongitude         [1] LatitudeLongitude,
2027     placeBearingPlaceBearing  [2] PlaceBearingPlaceBearing,
2028     placeBearingDistance      [3] PlaceBearingDistance
2031 Icing ::= ENUMERATED
2033     reserved  (0),
2034     light     (1),
2035     moderate  (2),
2036     severe    (3)
2040 Latitude ::= SEQUENCE
2042     latitudeType      LatitudeType,
2043     latitudeDirection LatitudeDirection
2046 LatitudeDegrees ::= INTEGER (0..90000)
2047 -- unit = Degree, Range (0..90), resolution = 0.001
2049 LatitudeDegreesMinutes ::= SEQUENCE
2051     latitudeWholeDegrees  LatitudeWholeDegrees,
2052     minutesLatLon         MinutesLatLon
2055 LatitudeDegreesMinutesSeconds ::= SEQUENCE
2057     latitudeWholeDegrees  LatitudeWholeDegrees,
2058     latlonWholeMinutes    LatLonWholeMinutes,
2059     secondsLatLon         SecondsLatLon
2062 LatitudeDirection ::= ENUMERATED
2064     north (0),
2065     south (1)
2068 LatitudeWholeDegrees ::= INTEGER (0..89)
2069 -- unit = Degree, Range (0..89), resolution = 1
2071 LatitudeLongitude ::= SEQUENCE
2073     latitude  [0] Latitude  OPTIONAL,
2074     longitude [1] Longitude OPTIONAL
2077 LatitudeReportingPoints ::= SEQUENCE
2079     latitudeDirection LatitudeDirection,
2080     latitudeDegrees   LatitudeDegrees
2083 LatitudeType ::= CHOICE
2085     latitudeDegrees         [0] LatitudeDegrees,
2086     latitudeDegreesMinutes  [1] LatitudeDegreesMinutes,
2087     latitudeDMS             [2] LatitudeDegreesMinutesSeconds
2090 LatLonWholeMinutes ::= INTEGER (0..59)
2091 -- unit = Minute, Range (0..59), resolution = 1
2093 LatLonReportingPoints ::= CHOICE
2095     latitudeReportingPoints   [0] LatitudeReportingPoints,
2096     longitudeReportingPoints  [1] LongitudeReportingPoints
2099 LegDistance ::= CHOICE
2101     legDistanceEnglish  [0] LegDistanceEnglish,
2102     legDistanceMetric   [1] LegDistanceMetric
2105 LegDistanceEnglish ::= INTEGER (0..50)
2106 -- unit = Nautical Mile, Range (0..50), resolution = 1
2108 LegDistanceMetric ::= INTEGER (1..128)
2109 -- unit = Kilometer, Range (1..128), resolution = 1
2111 LegTime ::= INTEGER (0..10)
2112 --unit = Minute, Range (0..10), resolution = 1
2114 LegType ::= CHOICE
2116     legDistance [0] LegDistance,
2117     legTime     [1] LegTime
2120 Level ::= CHOICE
2122     singleLevel [0] LevelType,
2123     blockLevel  [1] SEQUENCE SIZE (2) OF LevelType
2126 LevelFeet ::= INTEGER (-60..7000)
2127 --unit = Feet, Range (-600..70000), resolution = 10
2129 LevelFlightLevel ::= INTEGER (30..700)
2130 --unit = Level (100 Feet), Range (030..700), resolution = 1
2132 LevelFlightLevelMetric ::= INTEGER (100..2500)
2133 --unit = Level (10 Meters), Range (100..2500), resolution = 1
2134 LevelLevel ::= SEQUENCE SIZE (2) OF Level
2135 LevelMeters ::= INTEGER (-30..25000)
2136 --unit = Meter, Range (-30..25000), resolution = 1
2138 LevelPosition ::= SEQUENCE
2140     level     Level,
2141     position  Position
2144 LevelProcedureName ::= SEQUENCE
2146     level         Level,
2147     procedureName ProcedureName
2150 LevelsOfFlight ::= CHOICE
2152     level               [0] Level,
2153     procedureName       [1] ProcedureName,
2154     levelProcedureName  [2] LevelProcedureName
2157 LevelSpeed ::= SEQUENCE
2159     level Level,
2160     speed SpeedSpeed
2163 LevelSpeedSpeed ::= SEQUENCE
2165     level   Level,
2166     speeds  SpeedSpeed
2169 LevelTime ::= SEQUENCE
2171     level Level,
2172     time  Time
2175 LevelType ::= CHOICE
2177     levelFeet               [0] LevelFeet,
2178     levelMeters             [1] LevelMeters,
2179     levelFlightLevel        [2] LevelFlightLevel,
2180     levelFlightLevelMetric  [3] LevelFlightLevelMetric
2183 Longitude ::= SEQUENCE
2185     longitudeType       LongitudeType,
2186     longitudeDirection  LongitudeDirection
2189 LongitudeDegrees ::= INTEGER (0..180000)
2190 --unit = Degree, Range (0..180), resolution = 0.001
2192 LongitudeDegreesMinutes ::= SEQUENCE
2194     longitudeWholeDegrees LongitudeWholeDegrees,
2195     minutesLatLon         MinutesLatLon
2198 LongitudeDegreesMinutesSeconds ::= SEQUENCE
2200     longitudeWholeDegrees LongitudeWholeDegrees,
2201     latLonWholeMinutes    LatLonWholeMinutes,
2202     secondsLatLon         SecondsLatLon
2205 LongitudeDirection ::= ENUMERATED
2207     east  (0),
2208     west  (1)
2211 LongitudeWholeDegrees ::= INTEGER (0..179)
2212 -- unit = Degree, Range (0..179), resolution = 1
2214 LongitudeReportingPoints ::= SEQUENCE
2216     longitudeDirection  LongitudeDirection,
2217     longitudeDegrees    LongitudeDegrees
2220 LongitudeType ::= CHOICE
2222     longitudeDegrees        [0] LongitudeDegrees,
2223     longitudeDegreesMinutes [1] LongitudeDegreesMinutes,
2224     longitudeDMS            [2] LongitudeDegreesMinutesSeconds
2227 MinutesLatLon ::= INTEGER (0..5999)
2228 --unit = Minute, Range (0..59.99), resolution = 0.01
2230 Month ::= INTEGER (1..12)
2231 --unit = 1 Month, Range (1..12), resolution = 1
2233 Navaid ::= SEQUENCE
2235     name    [0] NavaidName,
2236     latlon  [1] LatitudeLongitude OPTIONAL
2239 NavaidName ::= IA5String (SIZE (1..4))
2241 PersonsOnBoard ::= INTEGER (1..1024)
2243 PlaceBearing ::= SEQUENCE
2245     publishedIdentifier PublishedIdentifier,
2246     degrees             Degrees
2249 PlaceBearingDistance ::= SEQUENCE
2251     publishedIdentifier PublishedIdentifier,
2252     degrees             Degrees,
2253     distance            Distance
2256 PlaceBearingPlaceBearing ::= SEQUENCE SIZE (2) OF PlaceBearing
2258 Position ::= CHOICE
2260     fixName               [0] FixName,
2261     navaid                [1] Navaid,
2262     airport               [2] Airport,
2263     latitudeLongitude     [3] LatitudeLongitude,
2264     placeBearingDistance  [4] PlaceBearingDistance
2267 PositionDegrees ::= SEQUENCE
2269     position  Position,
2270     degrees   Degrees
2274 PositionDistanceSpecifiedDirection ::= SEQUENCE
2276     position  Position,
2277     distanceSpecifiedDirection  DistanceSpecifiedDirection
2280 PositionLevel ::= SEQUENCE
2282     position  Position,
2283     level     Level
2286 PositionLevelLevel ::= SEQUENCE
2288     position  Position,
2289     levels  LevelLevel
2292 PositionLevelSpeed ::= SEQUENCE
2294     positionlevel PositionLevel,
2295     speed         Speed
2298 PositionPosition ::= SEQUENCE SIZE (2) OF Position
2300 PositionProcedureName ::= SEQUENCE
2302     position      Position,
2303     procedureName ProcedureName
2306 PositionReport ::= SEQUENCE
2308     positioncurrent         [0]   Position,
2309     timeatpositioncurrent   [1]   Time,
2310     level                   [2]   Level,
2311     fixnext                 [3]   Position        OPTIONAL,
2312     timeetaatfixnext        [4]   Time            OPTIONAL,
2313     fixnextplusone          [5]   Position        OPTIONAL,
2314     timeetaatdestination    [6]   Time            OPTIONAL,
2315     remainingFuel           [7]   RemainingFuel   OPTIONAL,
2316     temperature             [8]   Temperature     OPTIONAL,
2317     winds                   [9]   Winds           OPTIONAL,
2318     turbulence              [10]  Turbulence      OPTIONAL,
2319     icing                   [11]  Icing           OPTIONAL,
2320     speed                   [12]  Speed           OPTIONAL,
2321     speedground             [13]  SpeedGround     OPTIONAL,
2322     verticalChange          [14]  VerticalChange  OPTIONAL,
2323     trackAngle              [15]  Degrees         OPTIONAL,
2324     heading                 [16]  Degrees         OPTIONAL,
2325     distance                [17]  Distance        OPTIONAL,
2326     humidity                [18]  Humidity        OPTIONAL,
2327     reportedWaypointPosition[19]  Position        OPTIONAL,
2328     reportedWaypointTime    [20]  Time            OPTIONAL,
2329     reportedWaypointLevel   [21]  Level           OPTIONAL
2332 PositionRouteClearanceIndex ::= SEQUENCE
2334     position            Position,
2335     routeClearanceIndex RouteClearanceIndex
2338 PositionSpeed ::= SEQUENCE
2340     position  Position,
2341     speed     Speed
2344 PositionSpeedSpeed ::= SEQUENCE
2346     position  Position,
2347     speeds    SpeedSpeed
2350 PositionTime ::= SEQUENCE
2352     position  Position,
2353     time      Time
2356 PositionTimeLevel ::= SEQUENCE
2358     positionTime  PositionTime,
2359     level Level
2362 PositionTimeTime ::= SEQUENCE
2364     position  Position,
2365     times     TimeTime
2368 PositionUnitNameFrequency ::= SEQUENCE
2370     position  Position,
2371     unitname  UnitName,
2372   frequency Frequency
2375 Procedure ::= IA5String (SIZE (1..20))
2377 ProcedureName ::= SEQUENCE
2379     type        [0] ProcedureType,
2380     procedure   [1] Procedure,
2381     transition  [2] ProcedureTransition OPTIONAL
2384 ProcedureTransition ::= IA5String (SIZE (1..5))
2386 ProcedureType ::= ENUMERATED
2388     arrival   (0),
2389     approach  (1),
2390     departure (2)
2393 PublishedIdentifier ::= CHOICE
2395     fixName [0] FixName,
2396     navaid  [1] Navaid
2399 RemainingFuel ::= Time
2401 RemainingFuelPersonsOnBoard ::= SEQUENCE
2403     remainingFuel   RemainingFuel,
2404     personsOnBoard  PersonsOnBoard
2407 ReportingPoints ::= SEQUENCE
2409     latLonReportingPoints [0] LatLonReportingPoints,
2410     degreeIncrement       [1] DegreeIncrement         OPTIONAL
2413 RevisionNumber ::= INTEGER (1..16)
2415 RouteAndLevels ::= SEQUENCE
2417     routeOfFlight   RouteInformation,
2418     levelsOfFlight  LevelsOfFlight
2421 RouteClearance ::= SEQUENCE
2423     airportDeparture            [0] Airport                                     OPTIONAL,
2424     airportDestination          [1] Airport                                     OPTIONAL,
2425     runwayDeparture             [2] Runway                                      OPTIONAL,
2426     procedureDeparture          [3] ProcedureName                               OPTIONAL,
2427     runwayArrival               [4] Runway                                      OPTIONAL,
2428     procedureApproach           [5] ProcedureName                               OPTIONAL,
2429     procedureArrival            [6] ProcedureName                               OPTIONAL,
2430     routeInformations           [7] SEQUENCE SIZE (1..128)  OF RouteInformation OPTIONAL,
2431     routeInformationAdditional  [8] RouteInformationAdditional                  OPTIONAL
2434 RouteClearanceIndex ::= INTEGER (1..2)
2435 -- RouteClearanceIndex identifies the position of the RouteClearance data
2436 -- in the ASN.1 type for
2437 -- ATC UplinkMessage, constrained Data, routeClearance Data
2438 -- ATC DownlinkMessage, constrained Data, routeClearance Data
2440 RouteInformation ::= CHOICE
2442     publishedIdentifier       [0] PublishedIdentifier,
2443     latitudeLongitude         [1] LatitudeLongitude,
2444     placeBearingPlaceBearing  [2] PlaceBearingPlaceBearing,
2445     placeBearingDistance      [3] PlaceBearingDistance,
2446     aTSRouteDesignator        [4] ATSRouteDesignator
2450 RouteInformationAdditional ::= SEQUENCE
2452     aTWAlongTrackWaypoints  [0] SEQUENCE SIZE (1..8) OF ATWAlongTrackWaypoint   OPTIONAL,
2453     reportingpoints         [1] ReportingPoints                                 OPTIONAL,
2454     interceptCourseFroms    [2] SEQUENCE SIZE (1..4) OF InterceptCourseFrom     OPTIONAL,
2455     holdAtWaypoints         [3] SEQUENCE SIZE (1..8) OF Holdatwaypoint          OPTIONAL,
2456     waypointSpeedLevels     [4] SEQUENCE SIZE (1..32) OF WaypointSpeedLevel     OPTIONAL,
2457     rTARequiredTimeArrivals [5] SEQUENCE SIZE (1..32) OF RTARequiredTimeArrival OPTIONAL
2460 RTARequiredTimeArrival ::= SEQUENCE
2462     position      [0] Position,
2463     rTATime       [1] RTATime,
2464     rTATolerance  [2] RTATolerance  OPTIONAL
2467 RTATime ::= SEQUENCE
2469     time            Time,
2470     timeTolerance   TimeTolerance
2473 RTATolerance ::= INTEGER (1..150)
2474 --unit= Minute, Range (0.1..15.0), resolution = 0.1
2476 Runway ::= SEQUENCE
2478     direction     RunwayDirection,
2479     configuration RunwayConfiguration
2482 RunwayDirection ::= INTEGER (1..36)
2484 RunwayConfiguration ::= ENUMERATED
2486     left    (0),
2487     right   (1),
2488     center  (2),
2489     none    (3)
2492 RunwayRVR ::= SEQUENCE
2494     runway  Runway,
2495     rVR     RVR
2498 RVR ::= CHOICE
2500     rVRFeet   [0] RVRFeet,
2501     rVRMeters [1] RVRMeters
2504 RVRFeet ::= INTEGER (0..6100)
2505 -- unit = Feet, Range (0..6100), resolution = 1
2507 RVRMeters ::= INTEGER (0..1500)
2508 -- unit = Meters (0..1500), resolution = 1
2510 SecondsLatLon ::= INTEGER (0..59)
2511 --unit = Second, Range (0.. 59), resolution = 1
2513 Speed ::= CHOICE
2515     speedIndicated        [0] SpeedIndicated,
2516     speedIndicatedMetric  [1] SpeedIndicatedMetric,
2517     speedTrue             [2] SpeedTrue,
2518     speedTrueMetric       [3] SpeedTrueMetric,
2519     speedGround           [4] SpeedGround,
2520     speedGroundMetric     [5] SpeedGroundMetric,
2521     speedMach             [6] SpeedMach
2524 SpeedIndicated ::= INTEGER (0..400)
2525 -- unit = Knots, Range (0..400), resolution = 1
2527 SpeedIndicatedMetric ::= INTEGER (0..800)
2528 -- unit = Kilometers/Hour, Range (0..800), resolution = 1
2530 SpeedGround ::= INTEGER (-50..2000)
2531 -- unit = Knots, Range (-50..2000), resolution = 1
2533 SpeedGroundMetric ::= INTEGER (-100..4000)
2534 -- unit = Kilometers/Hour, Range (-100..4000), resolution = 1
2536 SpeedMach ::= INTEGER (500..4000)
2537 -- unit = Mach Range (0.5 to 4.0), resolution = 0.001
2539 SpeedSpeed ::= SEQUENCE SIZE (2) OF Speed
2540 SpeedTime ::= SEQUENCE
2542   speed Speed,
2543   time  Time
2546 SpeedTrue ::= INTEGER (0..2000)
2547 -- unit = Knots, Range (0..2000), resolution = 1
2549 SpeedTrueMetric ::= INTEGER (0..4000)
2550 -- unit = Kilometers/Hour, Range (0..4000), resolution = 1
2552 SpeedType ::= ENUMERATED
2554     noneSpecified (0),
2555     indicated     (1),
2556     true          (2),
2557     ground        (3),
2558     mach          (4),
2559     approach      (5),
2560     cruise        (6),
2561     minimum       (7),
2562     maximum       (8),
2563     ...
2566 SpeedTypeSpeedTypeSpeedType ::= SEQUENCE SIZE (3) OF SpeedType
2568 SpeedTypeSpeedTypeSpeedTypeSpeed ::= SEQUENCE
2570     speedTypes  SpeedTypeSpeedTypeSpeedType,
2571     speed       Speed
2574 Temperature ::= INTEGER (-100..100)
2575 -- unit = Degree Celsius, Range (-100..100), resolution = 1
2577 Time ::= SEQUENCE
2579     hours   TimeHours,
2580     minutes TimeMinutes
2583 TimeLevel ::= SEQUENCE
2585     time  Time,
2586     level Level
2589 TimeDeparture ::= SEQUENCE
2591     timeDepartureAllocated          [0] Time                      OPTIONAL,
2592     timeDepartureControlled         [1] ControlledTime            OPTIONAL,
2593     timeDepartureClearanceExpected  [2] Time                      OPTIONAL,
2594     departureMinimumInterval        [3] DepartureMinimumInterval  OPTIONAL
2598 TimeDistanceSpecifiedDirection ::= SEQUENCE
2600     time                        Time,
2601     distanceSpecifiedDirection  DistanceSpecifiedDirection
2604 TimeDistanceToFromPosition ::= SEQUENCE
2606     time      Time,
2607   distance  Distance,
2608   tofrom    ToFrom,
2609   position  Position
2612 Timehhmmss ::= SEQUENCE
2614   hoursminutes  Time,
2615   seconds       TimeSeconds
2618 TimeHours ::= INTEGER (0..23)
2619 -- unit = Hour, Range (0..23), resolution = 1
2621 TimeUnitNameFrequency ::= SEQUENCE
2623     time      Time,
2624     unitName  UnitName,
2625     frequency Frequency
2628 TimeMinutes ::= INTEGER (0..59)
2629 -- unit = Minute, Range (0..59), resolution = 1
2631 TimePosition ::= SEQUENCE
2633     time      Time,
2634     position  Position
2637 TimePositionLevel ::= SEQUENCE
2639     timeposition  TimePosition,
2640     level         Level
2643 TimePositionLevelSpeed ::= SEQUENCE
2645     timeposition  TimePosition,
2646     levelspeed    LevelSpeed
2649 TimeSeconds ::= INTEGER (0..59)
2650 -- unit = Second, Range (0..59), resolution = 1
2652 TimeSpeed ::= SEQUENCE
2654     time  Time,
2655     speed Speed
2658 TimeSpeedSpeed ::= SEQUENCE
2660     time        Time,
2661     speedspeed  SpeedSpeed
2664 TimeTime ::= SEQUENCE SIZE (2) OF Time
2666 TimeToFromPosition ::= SEQUENCE
2668     time      Time,
2669     tofrom    ToFrom,
2670     position  Position
2672 TimeTolerance ::= ENUMERATED
2674     at        (0),
2675     atorafter (1),
2676     atorbefore(2)
2679 ToFrom ::= ENUMERATED
2681     to    (0),
2682     from  (1)
2685 ToFromPosition ::= SEQUENCE
2687     toFrom    ToFrom,
2688     position  Position
2691 TrafficType ::= ENUMERATED
2693     noneSpecified     (0),
2694     oppositeDirection (1),
2695     sameDirection     (2),
2696     converging        (3),
2697     crossing          (4),
2698     diverging         (5),
2699     ...
2702 Turbulence ::= ENUMERATED
2704     light     (0),
2705     moderate  (1),
2706     severe    (2)
2709 UnitName ::= SEQUENCE
2711     facilityDesignation [0] FacilityDesignation,
2712     facilityName        [1] FacilityName          OPTIONAL,
2713     facilityFunction    [2] FacilityFunction
2716 UnitNameFrequency ::= SEQUENCE
2718     unitName  UnitName,
2719     frequency Frequency
2722 VersionNumber ::= INTEGER (0..15)
2724 VerticalChange ::= SEQUENCE
2726     direction VerticalDirection,
2727     rate      VerticalRate
2730 VerticalDirection ::= ENUMERATED
2732     up    (0),
2733     down  (1)
2736 VerticalRate ::= CHOICE
2738     verticalRateEnglish [0] VerticalRateEnglish,
2739     verticalRateMetric  [1] VerticalRateMetric
2742 VerticalRateEnglish ::= INTEGER (0..3000)
2743 -- unit = Feet/Minute, Range (0..30000), resolution = 10
2745 VerticalRateMetric ::= INTEGER (0..1000)
2746 -- unit = Meters/Minute, Range (0..10000), resolution = 10
2748 WaypointSpeedLevel ::= SEQUENCE
2750     position  [0] Position,
2751     speed     [1] Speed             OPTIONAL,
2752     aTWLevels [2] ATWLevelSequence  OPTIONAL
2755 WindDirection ::= INTEGER (1..360)
2756 -- unit = Degree, Range (1..360), resolution = 1
2758 Winds ::= SEQUENCE
2760     direction WindDirection,
2761     speed     WindSpeed
2764 WindSpeed ::= CHOICE
2766     windSpeedEnglish  [0] WindSpeedEnglish,
2767     windSpeedMetric   [1] WindSpeedMetric
2770 WindSpeedEnglish ::= INTEGER (0..255)
2771 -- unit = Knot, Range (0..255), resolution = 1
2773 WindSpeedMetric ::= INTEGER (0..511)
2774 -- unit = Kilometer/Hour, Range (0..511), resolution = 1
2776 Year ::= INTEGER (1996..2095)
2777 -- unit = Year, Range (1996..2095), resolution = 1
2783 -- Editor modelines  -  https://www.wireshark.org/tools/modelines.html
2785 -- Local variables:
2786 -- c-basic-offset: 4
2787 -- tab-width: 8
2788 -- indent-tabs-mode: nil
2789 -- End:
2791 -- vi: set shiftwidth=4 tabstop=8 expandtab:
2792 -- :indentSize=4:tabSize=8:noTabs=true: