1 /*********************************************************************
2 Copyright 2013 Karl Jones
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
8 1. Redistributions of source code must retain the above copyright notice, this
9 list of conditions and the following disclaimer.
10 2. Redistributions in binary form must reproduce the above copyright notice,
11 this list of conditions and the following disclaimer in the documentation
12 and/or other materials provided with the distribution.
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 For Further Information Please Contact me at
27 http://p.sf.net/kdis/UserGuide
28 *********************************************************************/
30 /********************************************************************
35 purpose: Enums for radio parameters
36 *********************************************************************/
40 #include "KDIS/DataTypes/Enums/EnumDescriptor.hpp"
46 /************************************************************************/
48 /* Radio Tranmit State */
51 /************************************************************************/
53 enum TransmitState
{ Off
= 0, OnButNotTransmitting
= 1, OnAndTransmitting
= 2 };
55 // Returns number of values in the EnumDescriptor for this enum.
56 // This can be used to iterate through all possible enum values by using
57 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
59 KDIS_EXPORT KUINT32
GetEnumSizeTransmitState();
61 // Returns the EnumDescriptor value for the specified index.
62 // Use GetEnumSize<enum> to get the array size.
63 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
64 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTransmitState(KUINT32 Index
);
66 KDIS_EXPORT KString
GetEnumAsStringTransmitState(KINT32 Value
);
68 // Returns true if a value was found.
69 KDIS_EXPORT KBOOL
GetEnumFromStringTransmitState(const KString
& Value
,
72 /************************************************************************/
73 /* Radio Input Source */
74 /* Radio in put source, represents the part of the entity that is */
78 /************************************************************************/
80 enum RadioInputSource
{
81 OtherRadioInputSource
= 0,
89 DigitalDataDevice
= 8,
99 // Returns number of values in the EnumDescriptor for this enum.
100 // This can be used to iterate through all possible enum values by using
101 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
103 KDIS_EXPORT KUINT32
GetEnumSizeRadioInputSource();
105 // Returns the EnumDescriptor value for the specified index.
106 // Use GetEnumSize<enum> to get the array size.
107 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
108 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorRadioInputSource(
111 KDIS_EXPORT KString
GetEnumAsStringRadioInputSource(KINT32 Value
);
113 // Returns true if a value was found.
114 KDIS_EXPORT KBOOL
GetEnumFromStringRadioInputSource(const KString
& Value
,
117 /************************************************************************/
118 /* Antenna Pattern Type */
119 /* Type of representation used for radiation pattern from antenna */
123 /************************************************************************/
125 enum AntennaPatternType
{
126 Omni_Directional
= 0,
128 SphericalHarmonic
= 2
131 // Returns number of values in the EnumDescriptor for this enum.
132 // This can be used to iterate through all possible enum values by using
133 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
135 KDIS_EXPORT KUINT32
GetEnumSizeAntennaPatternType();
137 // Returns the EnumDescriptor value for the specified index.
138 // Use GetEnumSize<enum> to get the array size.
139 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
140 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAntennaPatternType(
143 KDIS_EXPORT KString
GetEnumAsStringAntennaPatternType(KINT32 Value
);
145 // Returns true if a value was found.
146 KDIS_EXPORT KBOOL
GetEnumFromStringAntennaPatternType(const KString
& Value
,
149 /************************************************************************/
150 /* Radio Major Modulation */
151 /* Major Modulation Field */
153 /* Modulation Type */
154 /************************************************************************/
156 enum RadioMajorModulation
{
157 NoStatementRadioMajorModulation
= 0,
159 AmplitudeAndAngle
= 2,
164 CarrierPhaseShiftModulation_CPSM
= 7
167 // Returns number of values in the EnumDescriptor for this enum.
168 // This can be used to iterate through all possible enum values by using
169 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
171 KDIS_EXPORT KUINT32
GetEnumSizeRadioMajorModulation();
173 // Returns the EnumDescriptor value for the specified index.
174 // Use GetEnumSize<enum> to get the array size.
175 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
176 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorRadioMajorModulation(
179 KDIS_EXPORT KString
GetEnumAsStringRadioMajorModulation(KINT32 Value
);
181 // Returns true if a value was found.
182 KDIS_EXPORT KBOOL
GetEnumFromStringRadioMajorModulation(const KString
& Value
,
185 /************************************************************************/
186 /* Modulation Detail */
187 /* Various Enums dependent on Radio Major Modulation */
189 /* Modulation Type */
190 /************************************************************************/
192 enum DetailAmplitude
{
193 OtherDetailAmplitude
= 0,
194 AFSK_AudioFrequencyShiftKeying
= 1,
195 AM_AmplitudeModulation
= 2,
196 CW_ContinuousWaveModulation
= 3,
197 DSB_DoubleSideband
= 4,
198 ISB_IndependentSideband
= 5,
199 LSB_SingleBandSuppressedCarrier_LowerSidebandMode
= 6,
200 SSB_Full_SingleSidebandFullCarrier
= 7,
201 SSB_Reduc_SingleBandReducedCarrier
= 8,
202 USB_SingleBandSuppressedCarrier_UpperSidebandMode
= 9,
203 VSB_VestigialSideband
= 10
206 // Returns number of values in the EnumDescriptor for this enum.
207 // This can be used to iterate through all possible enum values by using
208 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
210 KDIS_EXPORT KUINT32
GetEnumSizeDetailAmplitude();
212 // Returns the EnumDescriptor value for the specified index.
213 // Use GetEnumSize<enum> to get the array size.
214 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
215 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAmplitude(
218 KDIS_EXPORT KString
GetEnumAsStringDetailAmplitude(KINT32 Value
);
220 // Returns true if a value was found.
221 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAmplitude(const KString
& Value
,
224 enum DetailAmplitudeAndAngle
{
225 OtherDetailAmplitudeAndAngleDetail
= 0,
226 AmplitudeAndAngleDetail
= 1
229 // Returns number of values in the EnumDescriptor for this enum.
230 // This can be used to iterate through all possible enum values by using
231 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
233 KDIS_EXPORT KUINT32
GetEnumSizeDetailAmplitudeAndAngle();
235 // Returns the EnumDescriptor value for the specified index.
236 // Use GetEnumSize<enum> to get the array size.
237 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
238 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAmplitudeAndAngle(
241 KDIS_EXPORT KString
GetEnumAsStringDetailAmplitudeAndAngle(KINT32 Value
);
243 // Returns true if a value was found.
244 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAmplitudeAndAngle(const KString
& Value
,
248 OtherDetailAngle
= 0,
249 FM_FrequencyModulation
= 1,
250 FSK_FrequencyShiftKeying
= 2,
251 PM_PhaseModulation
= 3
254 // Returns number of values in the EnumDescriptor for this enum.
255 // This can be used to iterate through all possible enum values by using
256 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
258 KDIS_EXPORT KUINT32
GetEnumSizeDetailAngle();
260 // Returns the EnumDescriptor value for the specified index.
261 // Use GetEnumSize<enum> to get the array size.
262 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
263 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAngle(KUINT32 Index
);
265 KDIS_EXPORT KString
GetEnumAsStringDetailAngle(KINT32 Value
);
267 // Returns true if a value was found.
268 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAngle(const KString
& Value
,
271 enum DetailCombination
{ OtherDetailCombination
= 0, AmplitudeAnglePulse
= 1 };
273 // Returns number of values in the EnumDescriptor for this enum.
274 // This can be used to iterate through all possible enum values by using
275 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
277 KDIS_EXPORT KUINT32
GetEnumSizeDetailCombination();
279 // Returns the EnumDescriptor value for the specified index.
280 // Use GetEnumSize<enum> to get the array size.
281 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
282 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailCombination(
285 KDIS_EXPORT KString
GetEnumAsStringDetailCombination(KINT32 Value
);
287 // Returns true if a value was found.
288 KDIS_EXPORT KBOOL
GetEnumFromStringDetailCombination(const KString
& Value
,
292 OtherPulseDetail
= 0,
294 X_Band_TACAN_PulseDetail
= 2,
295 Y_Band_TACAN_PulseDetail
= 3
298 // Returns number of values in the EnumDescriptor for this enum.
299 // This can be used to iterate through all possible enum values by using
300 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
302 KDIS_EXPORT KUINT32
GetEnumSizeDetailPulse();
304 // Returns the EnumDescriptor value for the specified index.
305 // Use GetEnumSize<enum> to get the array size.
306 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
307 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailPulse(KUINT32 Index
);
309 KDIS_EXPORT KString
GetEnumAsStringDetailPulse(KINT32 Value
);
311 // Returns true if a value was found.
312 KDIS_EXPORT KBOOL
GetEnumFromStringDetailPulse(const KString
& Value
,
315 enum DetailUnmodulated
{
316 OtherDetailUnmodulted
= 0,
317 ContinuousWaveEmissionOfAnUnmodulatedCarrier
= 1
320 // Returns number of values in the EnumDescriptor for this enum.
321 // This can be used to iterate through all possible enum values by using
322 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
324 KDIS_EXPORT KUINT32
GetEnumSizeDetailUnmodulated();
326 // Returns the EnumDescriptor value for the specified index.
327 // Use GetEnumSize<enum> to get the array size.
328 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
329 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailUnmodulated(
332 KDIS_EXPORT KString
GetEnumAsStringDetailUnmodulated(KINT32 Value
);
334 // Returns true if a value was found.
335 KDIS_EXPORT KBOOL
GetEnumFromStringDetailUnmodulated(const KString
& Value
,
338 enum DetailCarrierPhaseShift
{ OtherDetailCarrierPhaseShift
= 0 };
340 enum DetailNoStatement
{ DetailNoStatementNoStatement
= 0 };
341 // Returns number of values in the EnumDescriptor for this enum.
342 // This can be used to iterate through all possible enum values by using
343 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
345 KDIS_EXPORT KUINT32
GetEnumSizeDetailCarrierPhaseShift();
347 // Returns the EnumDescriptor value for the specified index.
348 // Use GetEnumSize<enum> to get the array size.
349 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
350 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailCarrierPhaseShift(
353 KDIS_EXPORT KString
GetEnumAsStringDetailCarrierPhaseShift(KINT32 Value
);
355 // Returns true if a value was found.
356 KDIS_EXPORT KBOOL
GetEnumFromStringDetailCarrierPhaseShift(const KString
& Value
,
359 /************************************************************************/
360 /* Modulation System */
361 /* Specifies the interpretation of the modulation parameter field(s) */
363 /* Modulation Type */
364 /************************************************************************/
366 enum ModulationSystem
{
367 OtherModulationSystem
= 0,
368 GenericModulationSystem
= 1,
374 EPLRS_EnhancedPositionLocationReportingSystem
= 7,
380 ENHANCED_SINCGARS_73
= 12,
385 // Returns number of values in the EnumDescriptor for this enum.
386 // This can be used to iterate through all possible enum values by using
387 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
389 KDIS_EXPORT KUINT32
GetEnumSizeModulationSystem();
391 // Returns the EnumDescriptor value for the specified index.
392 // Use GetEnumSize<enum> to get the array size.
393 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
394 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorModulationSystem(
397 KDIS_EXPORT KString
GetEnumAsStringModulationSystem(KINT32 Value
);
399 // Returns true if a value was found.
400 KDIS_EXPORT KBOOL
GetEnumFromStringModulationSystem(const KString
& Value
,
403 /************************************************************************/
404 /* Crypto System Type */
405 /* Identifies the crypto equipment used in a tranmission */
407 /* Transmitter PDU */
408 /************************************************************************/
410 enum CryptoSystemType
{
411 OtherCryptoSystem
= 0,
413 VINSON_KY_57_KY_58_SINCGARS_ICOM
= 2,
414 NarrowSpectrumSecureVoice_NSVE
= 3,
415 WideSpectrumSecureVoice_WSVE
= 4,
422 Link11_KG_40A_P_NTDS
= 10,
423 Link11B_KG_40A_S
= 11,
428 // Returns number of values in the EnumDescriptor for this enum.
429 // This can be used to iterate through all possible enum values by using
430 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
432 KDIS_EXPORT KUINT32
GetEnumSizeCryptoSystemType();
434 // Returns the EnumDescriptor value for the specified index.
435 // Use GetEnumSize<enum> to get the array size.
436 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
437 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorCryptoSystemType(
440 KDIS_EXPORT KString
GetEnumAsStringCryptoSystemType(KINT32 Value
);
442 // Returns true if a value was found.
443 KDIS_EXPORT KBOOL
GetEnumFromStringCryptoSystemType(const KString
& Value
,
446 /************************************************************************/
447 /* Encryption Mode */
448 /* Identifies the mode of encryption */
451 /************************************************************************/
453 enum EncryptionMode
{ BaseBand
= 0, Diphase
= 1 };
455 // Returns number of values in the EnumDescriptor for this enum.
456 // This can be used to iterate through all possible enum values by using
457 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
459 KDIS_EXPORT KUINT32
GetEnumSizeEncryptionMode();
461 // Returns the EnumDescriptor value for the specified index.
462 // Use GetEnumSize<enum> to get the array size.
463 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
464 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncryptionMode(
467 KDIS_EXPORT KString
GetEnumAsStringEncryptionMode(KINT32 Value
);
469 // Returns true if a value was found.
470 KDIS_EXPORT KBOOL
GetEnumFromStringEncryptionMode(const KString
& Value
,
473 /************************************************************************/
475 /* Encoding class for a signal PDU */
478 /************************************************************************/
483 ApplicationSpecificData
= 2,
487 // Returns number of values in the EnumDescriptor for this enum.
488 // This can be used to iterate through all possible enum values by using
489 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
491 KDIS_EXPORT KUINT32
GetEnumSizeEncodingClass();
493 // Returns the EnumDescriptor value for the specified index.
494 // Use GetEnumSize<enum> to get the array size.
495 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
496 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncodingClass(KUINT32 Index
);
498 KDIS_EXPORT KString
GetEnumAsStringEncodingClass(KINT32 Value
);
500 // Returns true if a value was found.
501 KDIS_EXPORT KBOOL
GetEnumFromStringEncodingClass(const KString
& Value
,
504 /************************************************************************/
506 /* Encoding type when EncodingClass is audio */
509 /************************************************************************/
513 CVSD_per_MIL_STD_188_113
= 2,
514 ADPCM_per_CCITT_G_721
= 3,
515 _16_bit_linear_PCM2sComplementBigEndian
= 4,
516 _8_bit_linear_PCM
= 5,
517 VQ_VectorQuantization
= 6,
520 SpeexNarrowBand
= 10,
521 _16_bit_linear_PCM2sComplementLittleEndian
= 100
525 // Returns number of values in the EnumDescriptor for this enum.
526 // This can be used to iterate through all possible enum values by using
527 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
529 KDIS_EXPORT KUINT32
GetEnumSizeEncodingType();
531 // Returns the EnumDescriptor value for the specified index.
532 // Use GetEnumSize<enum> to get the array size.
533 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
534 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncodingType(KUINT32 Index
);
536 KDIS_EXPORT KString
GetEnumAsStringEncodingType(KINT32 Value
);
538 // Returns true if a value was found.
539 KDIS_EXPORT KBOOL
GetEnumFromStringEncodingType(const KString
& Value
,
542 /************************************************************************/
544 /* Tactical Data Link Type */
547 /************************************************************************/
555 SituationalAwarenessDataLink_SADL_
= 5,
556 Link16LegacyFormat_JTIDS_TADIL_J_
= 6,
557 Link16LegacyFormat_JTIDS_FDL_TADIL_J_
= 7,
565 AbbreviatedCommandandControl
= 15,
570 WeaponsDataLink_AWW_13_
= 20,
571 AbbreviatedCommandandControl1
= 21,
572 EnhancedPositionLocationReportingSystem_EPLRS_
= 22,
573 PositionLocationReportingSystem_PLRS_
= 23,
574 SINCGARS_TDLType
= 24,
577 HaveQuickIIA_Saturn_
= 27,
578 Intra_FlightDataLink1
= 28,
579 Intra_FlightDataLink2
= 29,
580 ImprovedDataModem_IDM_
= 30,
581 AirForceApplicationProgramDevelopment_AFAPD_
= 31,
582 CooperativeEngagementCapability_CEC_
= 32,
583 ForwardAreaAirDefense_FAAD_DataLink_FDL_
= 33,
584 GroundBasedDataLink_GBDL_
= 34,
585 IntraVehicularInfoSystem_IVIS_
= 35,
586 MarineTacticalSystem_MTS_
= 36,
587 TacticalFireDirectionSystem_TACFIRE_
= 37,
588 IntegratedBroadcastService_IBS_
= 38,
589 AirborneInformationTransfer_ABIT_
= 39,
590 AdvancedTacticalAirborneReconnaissanceSystem_ATARS_DataLink
= 40,
591 BattleGroupPassiveHorizonExtensionSystem_BGPHES_DataLink
= 41,
592 CommonHighBandwidthDataLink_CHBDL_
= 42,
593 GuardrailInteroperableDataLink_IDL_
= 43,
594 GuardrailCommonSensorSystemOne_CSS1_DataLink
= 44,
595 GuardrailCommonSensorSystemTwo_CSS2_DataLink
= 45,
596 GuardrailCSS2Multi_RoleDataLink_MRDL_
= 46,
597 GuardrailCSS2DirectAirtoSatelliteRelay_DASR_DataLink
= 47,
598 LineofSight_LOS_DataLinkImplementation_LOStether_
= 48,
599 LightweightCDL_LWCDL_
= 49,
601 RivetReach_RivetOwlDataLink
= 51,
605 SeniorYearInteroperableDataLink_IDL_
= 55,
607 TR_1modeMISTAirborneDataLink
= 57,
608 Ku_bandSATCOMDataLinkImplementation_UAV_
= 58,
609 MissionEquipmentControlDatalink_MECDL_
= 59,
610 RadarDataTransmittingSetDataLink
= 60,
611 SurveillanceandControlDataLink_SCDL_
= 61,
612 TacticalUAVVideo
= 62,
613 UHFSATCOMDataLinkImplementation_UAV_
= 63,
614 TacticalCommonDataLink_TCDL_
= 64,
615 LowLevelAirPictureInterface_LLAPI_
= 65,
616 WeaponsDataLink_AGM_130_
= 66,
618 Automatic_Identification_System_AIS
= 67,
619 Weapons_Data_Link_AIM_120
= 68,
620 Weapons_Data_Link_AIM_9
= 69,
623 Link16StandardizedFormat_JTIDS_MIDS_TADILJ_
= 100,
624 Link16EnhancedDataRate_EDRJTIDS_MIDS_TADIL_J_
= 101,
625 JTIDS_MIDSNetDataLoad_TIMS_TOMS_
= 102,
627 AFIWCIADSCommunicationsLinks
= 104,
629 F22_IntraFlight_Data_Link_IFDL
= 105,
631 TSAF_Communications_Link
= 107,
632 Enhanced_SINCGARS_7_3
= 108,
633 F35_Multifunction_Advanced_Data_Link_MADL
= 109,
634 Cursor_on_Target
= 110,
635 All_Purpose_Structured_Eurocontrol_Surveillance_Information_Exchange_ASTERIX
=
640 // Returns number of values in the EnumDescriptor for this enum.
641 // This can be used to iterate through all possible enum values by using
642 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
644 KDIS_EXPORT KUINT32
GetEnumSizeTDLType();
646 // Returns the EnumDescriptor value for the specified index.
647 // Use GetEnumSize<enum> to get the array size.
648 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
649 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTDLType(KUINT32 Index
);
651 KDIS_EXPORT KString
GetEnumAsStringTDLType(KINT32 Value
);
653 // Returns true if a value was found.
654 KDIS_EXPORT KBOOL
GetEnumFromStringTDLType(const KString
& Value
,
657 /************************************************************************/
659 /* Type of control requested */
661 /* Intercom_Control_PDU */
662 /************************************************************************/
665 ControlTypeReserved
= 0,
666 ControlTypeStatus
= 1,
667 Request_Acknowledge_Required
= 2,
668 Request_No_Acknowledge
= 3,
669 Ack_Request_Granted
= 4,
670 Nack_Request_Denied
= 5
674 // Returns number of values in the EnumDescriptor for this enum.
675 // This can be used to iterate through all possible enum values by using
676 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
678 KDIS_EXPORT KUINT32
GetEnumSizeControlType();
680 // Returns the EnumDescriptor value for the specified index.
681 // Use GetEnumSize<enum> to get the array size.
682 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
683 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorControlType(KUINT32 Index
);
685 KDIS_EXPORT KString
GetEnumAsStringControlType(KINT32 Value
);
687 // Returns true if a value was found.
688 KDIS_EXPORT KBOOL
GetEnumFromStringControlType(const KString
& Value
,
691 /************************************************************************/
692 /* Communications Channel Type */
693 /* Communications Channel Type enumerations */
695 /* Intercom_Control_PDU */
696 /************************************************************************/
699 ChannelTypeReserved
= 0,
701 Connection_HDX_Destination_Receive_Only
= 2,
702 Connection_HDX_Destination_Transmit_Only
= 3,
707 // Returns number of values in the EnumDescriptor for this enum.
708 // This can be used to iterate through all possible enum values by using
709 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
711 KDIS_EXPORT KUINT32
GetEnumSizeChannelType();
713 // Returns the EnumDescriptor value for the specified index.
714 // Use GetEnumSize<enum> to get the array size.
715 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
716 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorChannelType(KUINT32 Index
);
718 KDIS_EXPORT KString
GetEnumAsStringChannelType(KINT32 Value
);
720 // Returns true if a value was found.
721 KDIS_EXPORT KBOOL
GetEnumFromStringChannelType(const KString
& Value
,
725 Simulated_Comm_Channel
= 0,
726 Simulation_Support_Comm_Channel
= 1
729 // Returns number of values in the EnumDescriptor for this enum.
730 // This can be used to iterate through all possible enum values by using
731 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
733 KDIS_EXPORT KUINT32
GetEnumSizeChannelClass();
735 // Returns the EnumDescriptor value for the specified index.
736 // Use GetEnumSize<enum> to get the array size.
737 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
738 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorChannelClass(KUINT32 Index
);
740 KDIS_EXPORT KString
GetEnumAsStringChannelClass(KINT32 Value
);
742 // Returns true if a value was found.
743 KDIS_EXPORT KBOOL
GetEnumFromStringChannelClass(const KString
& Value
,
746 /************************************************************************/
747 /* Transmit Line State */
748 /* Identifies the current transmit state of the line at the intercon */
751 /* Intercom_Control_PDU */
752 /************************************************************************/
754 enum TransmitLineState
{
755 TransmitLineStateNotApplicable
= 0,
761 // Returns number of values in the EnumDescriptor for this enum.
762 // This can be used to iterate through all possible enum values by using
763 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
765 KDIS_EXPORT KUINT32
GetEnumSizeTransmitLineState();
767 // Returns the EnumDescriptor value for the specified index.
768 // Use GetEnumSize<enum> to get the array size.
769 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
770 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTransmitLineState(
773 KDIS_EXPORT KString
GetEnumAsStringTransmitLineState(KINT32 Value
);
775 // Returns true if a value was found.
776 KDIS_EXPORT KBOOL
GetEnumFromStringTransmitLineState(const KString
& Value
,
779 /************************************************************************/
780 /* Line State Command */
781 /* specifies the detailed type requested when the control type is */
782 /* request or acknowledge */
784 /* Intercom_Control_PDU */
785 /************************************************************************/
787 enum LineStateCommand
{
788 NoLineStateCommand
= 0,
789 SetLineState_Transmitting
= 1,
790 SetLineState_NotTransmitting
= 2,
791 ReturnToLocalLineStateControl
= 3
795 // Returns number of values in the EnumDescriptor for this enum.
796 // This can be used to iterate through all possible enum values by using
797 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
799 KDIS_EXPORT KUINT32
GetEnumSizeLineStateCommand();
801 // Returns the EnumDescriptor value for the specified index.
802 // Use GetEnumSize<enum> to get the array size.
803 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
804 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorLineStateCommand(
807 KDIS_EXPORT KString
GetEnumAsStringLineStateCommand(KINT32 Value
);
809 // Returns true if a value was found.
810 KDIS_EXPORT KBOOL
GetEnumFromStringLineStateCommand(const KString
& Value
,
813 /************************************************************************/
814 /* AdditionalIntrCommParamType */
815 /* specifies the type of additonal intercom parameter data included. */
817 /* Intercom_Control_PDU */
818 /************************************************************************/
820 enum AdditionalIntrCommParamType
{
821 EntityDestinationRecord_Type
= 1,
822 GroupDestinationRecord_Type
= 2,
823 GroupAssignmentRecord_Type
= 3
826 // Returns number of values in the EnumDescriptor for this enum.
827 // This can be used to iterate through all possible enum values by using
828 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
830 KDIS_EXPORT KUINT32
GetEnumSizeAdditionalIntrCommParamType();
832 // Returns the EnumDescriptor value for the specified index.
833 // Use GetEnumSize<enum> to get the array size.
834 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
835 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAdditionalIntrCommParamType(
838 KDIS_EXPORT KString
GetEnumAsStringAdditionalIntrCommParamType(KINT32 Value
);
840 // Returns true if a value was found.
841 KDIS_EXPORT KBOOL
GetEnumFromStringAdditionalIntrCommParamType(
842 const KString
& Value
, KINT32
& ValueOut
);
845 /************************************************************************/
846 /* AttachedIndicator */
847 /* Used to indicate whether the object is attached to an entity or */
851 /************************************************************************/
853 enum AttachedIndicator
{
854 NoStatementAttachedIndicator
= 0,
855 UnattachedAttachedIndicator
= 1,
856 AttachedAttachedIndicator
= 2
859 // Returns number of values in the EnumDescriptor for this enum.
860 // This can be used to iterate through all possible enum values by using
861 // GetEnumDescriptor<enum>. If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will
863 KDIS_EXPORT KUINT32
GetEnumSizeAttachedIndicator();
865 // Returns the EnumDescriptor value for the specified index.
866 // Use GetEnumSize<enum> to get the array size.
867 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
868 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAttachedIndicator(
871 KDIS_EXPORT KString
GetEnumAsStringAttachedIndicator(KINT32 Value
);
873 // Returns true if a value was found.
874 KDIS_EXPORT KBOOL
GetEnumFromStringAttachedIndicator(const KString
& Value
,
879 enum BeamAntennaPatternReferenceSystem
{
880 ReferenceSystemWorldCoordinates
= 1,
881 ReferenceSystemEntityCoordinates
= 2
884 KUINT32
GetEnumSizeBeamAntennaPatternReferenceSystem();
886 const EnumDescriptor
* GetEnumDescriptorBeamAntennaPatternReferenceSystem(
889 KString
GetEnumAsStringBeamAntennaPatternReferenceSystem(KINT32 Value
);
891 KBOOL
GetEnumFromStringBeamAntennaPatternReferenceSystem(const KString
& Value
,
894 } // END namespace ENUMS
895 } // namespace DATA_TYPE
896 } // END namespace KDIS