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 "./EnumDescriptor.h"
46 /************************************************************************/
48 /* Radio Tranmit State */
51 /************************************************************************/
56 OnButNotTransmitting
= 1,
60 // Returns number of values in the EnumDescriptor for this enum.
61 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
62 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
63 KDIS_EXPORT KUINT32
GetEnumSizeTransmitState();
65 // Returns the EnumDescriptor value for the specified index.
66 // Use GetEnumSize<enum> to get the array size.
67 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
68 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTransmitState( KUINT32 Index
);
70 KDIS_EXPORT KString
GetEnumAsStringTransmitState( KINT32 Value
);
72 // Returns true if a value was found.
73 KDIS_EXPORT KBOOL
GetEnumFromStringTransmitState( const KString
& Value
, KINT32
& ValueOut
);
75 /************************************************************************/
76 /* Radio Input Source */
77 /* Radio in put source, represents the part of the entity that is */
81 /************************************************************************/
85 OtherRadioInputSource
= 0,
93 DigitalDataDevice
= 8,
103 // Returns number of values in the EnumDescriptor for this enum.
104 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
105 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
106 KDIS_EXPORT KUINT32
GetEnumSizeRadioInputSource();
108 // Returns the EnumDescriptor value for the specified index.
109 // Use GetEnumSize<enum> to get the array size.
110 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
111 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorRadioInputSource( KUINT32 Index
);
113 KDIS_EXPORT KString
GetEnumAsStringRadioInputSource( KINT32 Value
);
115 // Returns true if a value was found.
116 KDIS_EXPORT KBOOL
GetEnumFromStringRadioInputSource( const KString
& Value
, KINT32
& ValueOut
);
118 /************************************************************************/
119 /* Antenna Pattern Type */
120 /* Type of representation used for radiation pattern from antenna */
124 /************************************************************************/
126 enum AntennaPatternType
128 Omni_Directional
= 0,
130 SphericalHarmonic
= 2
133 // Returns number of values in the EnumDescriptor for this enum.
134 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
135 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
136 KDIS_EXPORT KUINT32
GetEnumSizeAntennaPatternType();
138 // Returns the EnumDescriptor value for the specified index.
139 // Use GetEnumSize<enum> to get the array size.
140 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
141 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAntennaPatternType( KUINT32 Index
);
143 KDIS_EXPORT KString
GetEnumAsStringAntennaPatternType( KINT32 Value
);
145 // Returns true if a value was found.
146 KDIS_EXPORT KBOOL
GetEnumFromStringAntennaPatternType( const KString
& Value
, KINT32
& ValueOut
);
148 /************************************************************************/
149 /* Radio Major Modulation */
150 /* Major Modulation Field */
152 /* Modulation Type */
153 /************************************************************************/
155 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 GetEnumDescriptor<enum>.
169 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
170 KDIS_EXPORT KUINT32
GetEnumSizeRadioMajorModulation();
172 // Returns the EnumDescriptor value for the specified index.
173 // Use GetEnumSize<enum> to get the array size.
174 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
175 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorRadioMajorModulation( KUINT32 Index
);
177 KDIS_EXPORT KString
GetEnumAsStringRadioMajorModulation( KINT32 Value
);
179 // Returns true if a value was found.
180 KDIS_EXPORT KBOOL
GetEnumFromStringRadioMajorModulation( const KString
& Value
, KINT32
& ValueOut
);
183 /************************************************************************/
184 /* Modulation Detail */
185 /* Various Enums dependent on Radio Major Modulation */
187 /* Modulation Type */
188 /************************************************************************/
192 OtherDetailAmplitude
= 0,
193 AFSK_AudioFrequencyShiftKeying
= 1,
194 AM_AmplitudeModulation
= 2,
195 CW_ContinuousWaveModulation
= 3,
196 DSB_DoubleSideband
= 4,
197 ISB_IndependentSideband
= 5,
198 LSB_SingleBandSuppressedCarrier_LowerSidebandMode
= 6,
199 SSB_Full_SingleSidebandFullCarrier
= 7,
200 SSB_Reduc_SingleBandReducedCarrier
= 8,
201 USB_SingleBandSuppressedCarrier_UpperSidebandMode
= 9,
202 VSB_VestigialSideband
= 10
205 // Returns number of values in the EnumDescriptor for this enum.
206 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
207 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
208 KDIS_EXPORT KUINT32
GetEnumSizeDetailAmplitude();
210 // Returns the EnumDescriptor value for the specified index.
211 // Use GetEnumSize<enum> to get the array size.
212 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
213 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAmplitude( KUINT32 Index
);
215 KDIS_EXPORT KString
GetEnumAsStringDetailAmplitude( KINT32 Value
);
217 // Returns true if a value was found.
218 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAmplitude( const KString
& Value
, KINT32
& ValueOut
);
220 enum DetailAmplitudeAndAngle
222 OtherDetailAmplitudeAndAngleDetail
= 0,
223 AmplitudeAndAngleDetail
= 1
226 // Returns number of values in the EnumDescriptor for this enum.
227 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
228 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
229 KDIS_EXPORT KUINT32
GetEnumSizeDetailAmplitudeAndAngle();
231 // Returns the EnumDescriptor value for the specified index.
232 // Use GetEnumSize<enum> to get the array size.
233 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
234 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAmplitudeAndAngle( KUINT32 Index
);
236 KDIS_EXPORT KString
GetEnumAsStringDetailAmplitudeAndAngle( KINT32 Value
);
238 // Returns true if a value was found.
239 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAmplitudeAndAngle( const KString
& Value
, KINT32
& ValueOut
);
243 OtherDetailAngle
= 0,
244 FM_FrequencyModulation
= 1,
245 FSK_FrequencyShiftKeying
= 2,
246 PM_PhaseModulation
= 3
249 // Returns number of values in the EnumDescriptor for this enum.
250 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
251 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
252 KDIS_EXPORT KUINT32
GetEnumSizeDetailAngle();
254 // Returns the EnumDescriptor value for the specified index.
255 // Use GetEnumSize<enum> to get the array size.
256 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
257 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailAngle( KUINT32 Index
);
259 KDIS_EXPORT KString
GetEnumAsStringDetailAngle( KINT32 Value
);
261 // Returns true if a value was found.
262 KDIS_EXPORT KBOOL
GetEnumFromStringDetailAngle( const KString
& Value
, KINT32
& ValueOut
);
264 enum DetailCombination
266 OtherDetailCombination
= 0,
267 AmplitudeAnglePulse
= 1
270 // Returns number of values in the EnumDescriptor for this enum.
271 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
272 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
273 KDIS_EXPORT KUINT32
GetEnumSizeDetailCombination();
275 // Returns the EnumDescriptor value for the specified index.
276 // Use GetEnumSize<enum> to get the array size.
277 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
278 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailCombination( KUINT32 Index
);
280 KDIS_EXPORT KString
GetEnumAsStringDetailCombination( KINT32 Value
);
282 // Returns true if a value was found.
283 KDIS_EXPORT KBOOL
GetEnumFromStringDetailCombination( const KString
& Value
, KINT32
& ValueOut
);
287 OtherPulseDetail
= 0,
289 X_Band_TACAN_PulseDetail
= 2,
290 Y_Band_TACAN_PulseDetail
= 3
293 // Returns number of values in the EnumDescriptor for this enum.
294 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
295 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
296 KDIS_EXPORT KUINT32
GetEnumSizeDetailPulse();
298 // Returns the EnumDescriptor value for the specified index.
299 // Use GetEnumSize<enum> to get the array size.
300 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
301 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailPulse( KUINT32 Index
);
303 KDIS_EXPORT KString
GetEnumAsStringDetailPulse( KINT32 Value
);
305 // Returns true if a value was found.
306 KDIS_EXPORT KBOOL
GetEnumFromStringDetailPulse( const KString
& Value
, KINT32
& ValueOut
);
308 enum DetailUnmodulated
310 OtherDetailUnmodulted
= 0,
311 ContinuousWaveEmissionOfAnUnmodulatedCarrier
= 1
314 // Returns number of values in the EnumDescriptor for this enum.
315 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
316 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
317 KDIS_EXPORT KUINT32
GetEnumSizeDetailUnmodulated();
319 // Returns the EnumDescriptor value for the specified index.
320 // Use GetEnumSize<enum> to get the array size.
321 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
322 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailUnmodulated( KUINT32 Index
);
324 KDIS_EXPORT KString
GetEnumAsStringDetailUnmodulated( KINT32 Value
);
326 // Returns true if a value was found.
327 KDIS_EXPORT KBOOL
GetEnumFromStringDetailUnmodulated( const KString
& Value
, KINT32
& ValueOut
);
329 enum DetailCarrierPhaseShift
331 OtherDetailCarrierPhaseShift
= 0
334 enum DetailNoStatement
336 DetailNoStatementNoStatement
= 0
338 // Returns number of values in the EnumDescriptor for this enum.
339 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
340 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
341 KDIS_EXPORT KUINT32
GetEnumSizeDetailCarrierPhaseShift();
343 // Returns the EnumDescriptor value for the specified index.
344 // Use GetEnumSize<enum> to get the array size.
345 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
346 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorDetailCarrierPhaseShift( KUINT32 Index
);
348 KDIS_EXPORT KString
GetEnumAsStringDetailCarrierPhaseShift( KINT32 Value
);
350 // Returns true if a value was found.
351 KDIS_EXPORT KBOOL
GetEnumFromStringDetailCarrierPhaseShift( const KString
& Value
, KINT32
& ValueOut
);
353 /************************************************************************/
354 /* Modulation System */
355 /* Specifies the interpretation of the modulation parameter field(s) */
357 /* Modulation Type */
358 /************************************************************************/
360 enum ModulationSystem
362 OtherModulationSystem
= 0,
363 GenericModulationSystem
= 1,
369 EPLRS_EnhancedPositionLocationReportingSystem
= 7,
375 ENHANCED_SINCGARS_73
= 12,
380 // Returns number of values in the EnumDescriptor for this enum.
381 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
382 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
383 KDIS_EXPORT KUINT32
GetEnumSizeModulationSystem();
385 // Returns the EnumDescriptor value for the specified index.
386 // Use GetEnumSize<enum> to get the array size.
387 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
388 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorModulationSystem( KUINT32 Index
);
390 KDIS_EXPORT KString
GetEnumAsStringModulationSystem( KINT32 Value
);
392 // Returns true if a value was found.
393 KDIS_EXPORT KBOOL
GetEnumFromStringModulationSystem( const KString
& Value
, KINT32
& ValueOut
);
395 /************************************************************************/
396 /* Crypto System Type */
397 /* Identifies the crypto equipment used in a tranmission */
399 /* Transmitter PDU */
400 /************************************************************************/
402 enum CryptoSystemType
404 OtherCryptoSystem
= 0,
406 VINSON_KY_57_KY_58_SINCGARS_ICOM
= 2,
407 NarrowSpectrumSecureVoice_NSVE
= 3,
408 WideSpectrumSecureVoice_WSVE
= 4,
415 Link11_KG_40A_P_NTDS
= 10,
416 Link11B_KG_40A_S
= 11,
421 // Returns number of values in the EnumDescriptor for this enum.
422 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
423 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
424 KDIS_EXPORT KUINT32
GetEnumSizeCryptoSystemType();
426 // Returns the EnumDescriptor value for the specified index.
427 // Use GetEnumSize<enum> to get the array size.
428 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
429 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorCryptoSystemType( KUINT32 Index
);
431 KDIS_EXPORT KString
GetEnumAsStringCryptoSystemType( KINT32 Value
);
433 // Returns true if a value was found.
434 KDIS_EXPORT KBOOL
GetEnumFromStringCryptoSystemType( const KString
& Value
, KINT32
& ValueOut
);
436 /************************************************************************/
437 /* Encryption Mode */
438 /* Identifies the mode of encryption */
441 /************************************************************************/
449 // Returns number of values in the EnumDescriptor for this enum.
450 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
451 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
452 KDIS_EXPORT KUINT32
GetEnumSizeEncryptionMode();
454 // Returns the EnumDescriptor value for the specified index.
455 // Use GetEnumSize<enum> to get the array size.
456 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
457 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncryptionMode( KUINT32 Index
);
459 KDIS_EXPORT KString
GetEnumAsStringEncryptionMode( KINT32 Value
);
461 // Returns true if a value was found.
462 KDIS_EXPORT KBOOL
GetEnumFromStringEncryptionMode( const KString
& Value
, KINT32
& ValueOut
);
464 /************************************************************************/
466 /* Encoding class for a signal PDU */
469 /************************************************************************/
475 ApplicationSpecificData
= 2,
479 // Returns number of values in the EnumDescriptor for this enum.
480 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
481 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
482 KDIS_EXPORT KUINT32
GetEnumSizeEncodingClass();
484 // Returns the EnumDescriptor value for the specified index.
485 // Use GetEnumSize<enum> to get the array size.
486 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
487 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncodingClass( KUINT32 Index
);
489 KDIS_EXPORT KString
GetEnumAsStringEncodingClass( KINT32 Value
);
491 // Returns true if a value was found.
492 KDIS_EXPORT KBOOL
GetEnumFromStringEncodingClass( const KString
& Value
, KINT32
& ValueOut
);
494 /************************************************************************/
496 /* Encoding type when EncodingClass is audio */
499 /************************************************************************/
504 CVSD_per_MIL_STD_188_113
= 2,
505 ADPCM_per_CCITT_G_721
= 3,
506 _16_bit_linear_PCM2sComplementBigEndian
= 4,
507 _8_bit_linear_PCM
= 5,
508 VQ_VectorQuantization
= 6,
511 SpeexNarrowBand
= 10,
512 _16_bit_linear_PCM2sComplementLittleEndian
= 100
516 // Returns number of values in the EnumDescriptor for this enum.
517 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
518 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
519 KDIS_EXPORT KUINT32
GetEnumSizeEncodingType();
521 // Returns the EnumDescriptor value for the specified index.
522 // Use GetEnumSize<enum> to get the array size.
523 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
524 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEncodingType( KUINT32 Index
);
526 KDIS_EXPORT KString
GetEnumAsStringEncodingType( KINT32 Value
);
528 // Returns true if a value was found.
529 KDIS_EXPORT KBOOL
GetEnumFromStringEncodingType( const KString
& Value
, KINT32
& ValueOut
);
531 /************************************************************************/
533 /* Tactical Data Link Type */
536 /************************************************************************/
545 SituationalAwarenessDataLink_SADL_
= 5,
546 Link16LegacyFormat_JTIDS_TADIL_J_
= 6,
547 Link16LegacyFormat_JTIDS_FDL_TADIL_J_
= 7,
555 AbbreviatedCommandandControl
= 15,
560 WeaponsDataLink_AWW_13_
= 20,
561 AbbreviatedCommandandControl1
= 21,
562 EnhancedPositionLocationReportingSystem_EPLRS_
= 22,
563 PositionLocationReportingSystem_PLRS_
= 23,
564 SINCGARS_TDLType
= 24,
567 HaveQuickIIA_Saturn_
= 27,
568 Intra_FlightDataLink1
= 28,
569 Intra_FlightDataLink2
= 29,
570 ImprovedDataModem_IDM_
= 30,
571 AirForceApplicationProgramDevelopment_AFAPD_
= 31,
572 CooperativeEngagementCapability_CEC_
= 32,
573 ForwardAreaAirDefense_FAAD_DataLink_FDL_
= 33,
574 GroundBasedDataLink_GBDL_
= 34,
575 IntraVehicularInfoSystem_IVIS_
= 35,
576 MarineTacticalSystem_MTS_
= 36,
577 TacticalFireDirectionSystem_TACFIRE_
= 37,
578 IntegratedBroadcastService_IBS_
= 38,
579 AirborneInformationTransfer_ABIT_
= 39,
580 AdvancedTacticalAirborneReconnaissanceSystem_ATARS_DataLink
= 40,
581 BattleGroupPassiveHorizonExtensionSystem_BGPHES_DataLink
= 41,
582 CommonHighBandwidthDataLink_CHBDL_
= 42,
583 GuardrailInteroperableDataLink_IDL_
= 43,
584 GuardrailCommonSensorSystemOne_CSS1_DataLink
= 44,
585 GuardrailCommonSensorSystemTwo_CSS2_DataLink
= 45,
586 GuardrailCSS2Multi_RoleDataLink_MRDL_
= 46,
587 GuardrailCSS2DirectAirtoSatelliteRelay_DASR_DataLink
= 47,
588 LineofSight_LOS_DataLinkImplementation_LOStether_
= 48,
589 LightweightCDL_LWCDL_
= 49,
591 RivetReach_RivetOwlDataLink
= 51,
595 SeniorYearInteroperableDataLink_IDL_
= 55,
597 TR_1modeMISTAirborneDataLink
= 57,
598 Ku_bandSATCOMDataLinkImplementation_UAV_
= 58,
599 MissionEquipmentControlDatalink_MECDL_
= 59,
600 RadarDataTransmittingSetDataLink
= 60,
601 SurveillanceandControlDataLink_SCDL_
= 61,
602 TacticalUAVVideo
= 62,
603 UHFSATCOMDataLinkImplementation_UAV_
= 63,
604 TacticalCommonDataLink_TCDL_
= 64,
605 LowLevelAirPictureInterface_LLAPI_
= 65,
606 WeaponsDataLink_AGM_130_
= 66,
608 Automatic_Identification_System_AIS
= 67,
609 Weapons_Data_Link_AIM_120
= 68,
610 Weapons_Data_Link_AIM_9
= 69,
613 Link16StandardizedFormat_JTIDS_MIDS_TADILJ_
= 100,
614 Link16EnhancedDataRate_EDRJTIDS_MIDS_TADIL_J_
= 101,
615 JTIDS_MIDSNetDataLoad_TIMS_TOMS_
= 102,
617 AFIWCIADSCommunicationsLinks
= 104,
619 F22_IntraFlight_Data_Link_IFDL
= 105,
621 TSAF_Communications_Link
= 107,
622 Enhanced_SINCGARS_7_3
= 108,
623 F35_Multifunction_Advanced_Data_Link_MADL
= 109,
624 Cursor_on_Target
= 110,
625 All_Purpose_Structured_Eurocontrol_Surveillance_Information_Exchange_ASTERIX
= 111,
629 // Returns number of values in the EnumDescriptor for this enum.
630 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
631 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
632 KDIS_EXPORT KUINT32
GetEnumSizeTDLType();
634 // Returns the EnumDescriptor value for the specified index.
635 // Use GetEnumSize<enum> to get the array size.
636 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
637 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTDLType( KUINT32 Index
);
639 KDIS_EXPORT KString
GetEnumAsStringTDLType( KINT32 Value
);
641 // Returns true if a value was found.
642 KDIS_EXPORT KBOOL
GetEnumFromStringTDLType( const KString
& Value
, KINT32
& ValueOut
);
644 /************************************************************************/
646 /* Type of control requested */
648 /* Intercom_Control_PDU */
649 /************************************************************************/
653 ControlTypeReserved
= 0,
654 ControlTypeStatus
= 1,
655 Request_Acknowledge_Required
= 2,
656 Request_No_Acknowledge
= 3,
657 Ack_Request_Granted
= 4,
658 Nack_Request_Denied
= 5
662 // Returns number of values in the EnumDescriptor for this enum.
663 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
664 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
665 KDIS_EXPORT KUINT32
GetEnumSizeControlType();
667 // Returns the EnumDescriptor value for the specified index.
668 // Use GetEnumSize<enum> to get the array size.
669 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
670 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorControlType( KUINT32 Index
);
672 KDIS_EXPORT KString
GetEnumAsStringControlType( KINT32 Value
);
674 // Returns true if a value was found.
675 KDIS_EXPORT KBOOL
GetEnumFromStringControlType( const KString
& Value
, KINT32
& ValueOut
);
677 /************************************************************************/
678 /* Communications Channel Type */
679 /* Communications Channel Type enumerations */
681 /* Intercom_Control_PDU */
682 /************************************************************************/
686 ChannelTypeReserved
= 0,
688 Connection_HDX_Destination_Receive_Only
= 2,
689 Connection_HDX_Destination_Transmit_Only
= 3,
694 // Returns number of values in the EnumDescriptor for this enum.
695 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
696 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
697 KDIS_EXPORT KUINT32
GetEnumSizeChannelType();
699 // Returns the EnumDescriptor value for the specified index.
700 // Use GetEnumSize<enum> to get the array size.
701 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
702 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorChannelType( KUINT32 Index
);
704 KDIS_EXPORT KString
GetEnumAsStringChannelType( KINT32 Value
);
706 // Returns true if a value was found.
707 KDIS_EXPORT KBOOL
GetEnumFromStringChannelType( const KString
& Value
, KINT32
& ValueOut
);
711 Simulated_Comm_Channel
= 0,
712 Simulation_Support_Comm_Channel
= 1
715 // Returns number of values in the EnumDescriptor for this enum.
716 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
717 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
718 KDIS_EXPORT KUINT32
GetEnumSizeChannelClass();
720 // Returns the EnumDescriptor value for the specified index.
721 // Use GetEnumSize<enum> to get the array size.
722 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
723 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorChannelClass( KUINT32 Index
);
725 KDIS_EXPORT KString
GetEnumAsStringChannelClass( KINT32 Value
);
727 // Returns true if a value was found.
728 KDIS_EXPORT KBOOL
GetEnumFromStringChannelClass( const KString
& Value
, KINT32
& ValueOut
);
730 /************************************************************************/
731 /* Transmit Line State */
732 /* Identifies the current transmit state of the line at the intercon */
735 /* Intercom_Control_PDU */
736 /************************************************************************/
738 enum TransmitLineState
740 TransmitLineStateNotApplicable
= 0,
746 // Returns number of values in the EnumDescriptor for this enum.
747 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
748 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
749 KDIS_EXPORT KUINT32
GetEnumSizeTransmitLineState();
751 // Returns the EnumDescriptor value for the specified index.
752 // Use GetEnumSize<enum> to get the array size.
753 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
754 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorTransmitLineState( KUINT32 Index
);
756 KDIS_EXPORT KString
GetEnumAsStringTransmitLineState( KINT32 Value
);
758 // Returns true if a value was found.
759 KDIS_EXPORT KBOOL
GetEnumFromStringTransmitLineState( const KString
& Value
, KINT32
& ValueOut
);
761 /************************************************************************/
762 /* Line State Command */
763 /* specifies the detailed type requested when the control type is */
764 /* request or acknowledge */
766 /* Intercom_Control_PDU */
767 /************************************************************************/
769 enum LineStateCommand
771 NoLineStateCommand
= 0,
772 SetLineState_Transmitting
= 1,
773 SetLineState_NotTransmitting
= 2,
774 ReturnToLocalLineStateControl
= 3
778 // Returns number of values in the EnumDescriptor for this enum.
779 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
780 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
781 KDIS_EXPORT KUINT32
GetEnumSizeLineStateCommand();
783 // Returns the EnumDescriptor value for the specified index.
784 // Use GetEnumSize<enum> to get the array size.
785 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
786 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorLineStateCommand( KUINT32 Index
);
788 KDIS_EXPORT KString
GetEnumAsStringLineStateCommand( KINT32 Value
);
790 // Returns true if a value was found.
791 KDIS_EXPORT KBOOL
GetEnumFromStringLineStateCommand( const KString
& Value
, KINT32
& ValueOut
);
793 /************************************************************************/
794 /* AdditionalIntrCommParamType */
795 /* specifies the type of additonal intercom parameter data included. */
797 /* Intercom_Control_PDU */
798 /************************************************************************/
800 enum AdditionalIntrCommParamType
802 EntityDestinationRecord_Type
= 1,
803 GroupDestinationRecord_Type
= 2,
804 GroupAssignmentRecord_Type
= 3
807 // Returns number of values in the EnumDescriptor for this enum.
808 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
809 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
810 KDIS_EXPORT KUINT32
GetEnumSizeAdditionalIntrCommParamType();
812 // Returns the EnumDescriptor value for the specified index.
813 // Use GetEnumSize<enum> to get the array size.
814 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
815 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAdditionalIntrCommParamType( KUINT32 Index
);
817 KDIS_EXPORT KString
GetEnumAsStringAdditionalIntrCommParamType( KINT32 Value
);
819 // Returns true if a value was found.
820 KDIS_EXPORT KBOOL
GetEnumFromStringAdditionalIntrCommParamType( const KString
& Value
, KINT32
& ValueOut
);
823 /************************************************************************/
824 /* AttachedIndicator */
825 /* Used to indicate whether the object is attached to an entity or */
829 /************************************************************************/
831 enum AttachedIndicator
833 NoStatementAttachedIndicator
= 0,
834 UnattachedAttachedIndicator
= 1,
835 AttachedAttachedIndicator
= 2
838 // Returns number of values in the EnumDescriptor for this enum.
839 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
840 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
841 KDIS_EXPORT KUINT32
GetEnumSizeAttachedIndicator();
843 // Returns the EnumDescriptor value for the specified index.
844 // Use GetEnumSize<enum> to get the array size.
845 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
846 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAttachedIndicator( KUINT32 Index
);
848 KDIS_EXPORT KString
GetEnumAsStringAttachedIndicator( KINT32 Value
);
850 // Returns true if a value was found.
851 KDIS_EXPORT KBOOL
GetEnumFromStringAttachedIndicator( const KString
& Value
, KINT32
& ValueOut
);
855 enum BeamAntennaPatternReferenceSystem
857 ReferenceSystemWorldCoordinates
= 1,
858 ReferenceSystemEntityCoordinates
= 2
861 KUINT32
GetEnumSizeBeamAntennaPatternReferenceSystem();
863 const EnumDescriptor
* GetEnumDescriptorBeamAntennaPatternReferenceSystem( KUINT32 Index
);
865 KString
GetEnumAsStringBeamAntennaPatternReferenceSystem(KINT32 Value
);
867 KBOOL
GetEnumFromStringBeamAntennaPatternReferenceSystem( const KString
& Value
, KINT32
& ValueOut
);
870 } // END namespace ENUMS
871 } // END namespace DATA_TYPES
872 } // END namespace KDIS