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 emitter params
36 *********************************************************************/
40 #include "./EnumDescriptor.h"
46 /************************************************************************/
51 /************************************************************************/
87 L13_3_55G6_BoxSpring
= 1280,
88 L13_3_55G6_BoxSpringB
= 1282,
90 ANRITSUElectricAR_30A
= 1350,
100 AN_ALQ_135C_D
= 1628,
101 AN_ALQ_144A_V_3
= 1630,
108 AN_ALQ_172_V_2
= 1644,
194 AN_APS_143_V_1
= 4465,
204 AN_APX_113AIFF
= 4870,
222 AN_DSQ26PhoenixMH
= 5445,
223 AN_DSQ28HarpoonMH
= 5490,
237 AN_MPQ_46_HPI_ILL
= 5545,
238 AN_MPQ_48_55CWAR
= 5550,
240 AN_MPQ_50_PAR_TA
= 5555,
241 AN_MPQ_51_ROR_TT
= 5560,
247 AN_SPG_51CWITI
= 5715,
288 AN_TPQ_38_V8_
= 7301,
294 AN_TPS_70_V_1
= 7322,
296 AN_TPX_46_V_7
= 7330,
323 ARINC564BNDX_KINGRDR1E
= 8325,
324 ARINC700BNDX_KINGRDR1E
= 8370,
333 AS6KingfishMH
= 8640,
336 AS15KENTaltimeter
= 8735,
337 AspideAAM_SAMILL
= 8760,
345 AtlasElektronkTRSN
= 8865,
346 ATLAS_9740VTS
= 8870,
363 P_35_37_A_P_50_B_BarLock
= 9450,
375 SNAR_10BigFred
= 9780,
378 S15MTBillBoard
= 98859,
381 BlueFoxSeaHarrierFRSMk1_5
= 9930,
382 BlueVixenSeaHarrierF_AMk2
= 9935,
387 BoforsElectronic9LV331
= 10125,
388 BoforsEricssonSeaGiraffe50HC
= 10170,
395 BR_15TokyoKEIKI
= 10485,
401 C5AMultiModeRadar
= 10710,
406 CardionCoastal
= 10895,
408 Castor2JTT_CrotaleNG_
= 10940,
412 ChairBackILL
= 11010,
416 CollinsWXR_700X
= 11160,
417 CollinsDN101
= 11205,
418 ContravesSeaHunterMK4
= 11250,
428 CrossSwordFC
= 11610,
429 CrotaleAcquisitionTATHD_5000
= 11655,
430 CrotaleNGTAGriffon
= 11660,
432 CrotaleMGMissileSystem
= 11700,
433 CSSC3CCAS1M1M2MH
= 11745,
434 CSSC2BHY1AMH
= 11790,
436 CylinderHead
= 11880,
444 DECCA_20V90_9
= 12110,
445 DECCA_20V90S
= 12111,
459 DECCA1226Commercial
= 12645,
465 DECCAAWS_4_2_
= 12787,
471 DECCASuper101MK3
= 12960,
473 RapierTTDN181DN181
= 13050,
474 Rapier2000TTBLINDFIREFSCTT
= 13055,
478 DonA_B_2_Kay
= 13230,
516 ELTAEL_M2221GMSTGR
= 14805,
528 FanSongB_FTA
= 15200,
529 FanSongB_FTT
= 15210,
530 FanSongC_ETA
= 15220,
531 FanSongC_ETT
= 15230,
532 FanSongC_EMG
= 15240,
533 FanSongB_FFMG
= 15255,
549 P_15FlatFaceABCD
= 15840,
562 FOXFIREFoxFireAL
= 16380,
579 MPDR_12GepardTA
= 16880,
584 GinSlingGinSlingTT
= 16920,
590 S32GRILLPANTT
= 170259,
592 RPK_2GUNDISH_ZSU_23_4_
= 17070,
601 HeadLightsMGA
= 17415,
602 HeadLightsMGB
= 17460,
603 HeadLightsTT
= 17505,
618 S19MTHIGHSCREEN
= 181509,
625 IRL144MHotShotTA
= 18320,
626 IRL144MHotShotTT
= 18325,
627 IRL144MHotShotMG
= 18330,
628 IFFMKXIIAIMSUPX29
= 18360,
639 KelvinHughes2A
= 18630,
640 KelvinHughes14_9
= 18675,
641 KelvinHughestype1006
= 18720,
642 KelvinHughestype1007
= 18765,
645 KiteScreechA
= 18855,
646 KiteScreechB
= 18900,
649 P_10KnifeRestB
= 19035,
679 TRS_2050LP_23
= 20040,
687 MA1IFFPortion
= 20340,
691 MarconiCanadaHC75
= 20475,
693 MarconiS1802
= 20520,
697 Marconitype967
= 20610,
698 Marconitype968
= 20655,
699 Marconitype992
= 20700,
700 Marconi_signaaltype1022
= 20745,
701 Marconi_signaaltype910
= 20790,
702 Marconi_signaaltype911
= 20835,
703 Marconi_signaaltype992R
= 20880,
762 OtomatMKIITeseo
= 22905,
779 Philips9LV200
= 23535,
780 Philips9LV331
= 23580,
781 PhilipsLV223
= 23625,
782 PhilipsSeaGiraffe50HC
= 23670,
793 Plesseytype996
= 24030,
818 RacalAC2690BT
= 24840,
819 RacalDecca1216
= 24885,
820 RacalDecca360
= 24930,
821 RacalDeccaAC1290
= 24975,
822 RacalDeccaTM1229
= 25020,
823 RacalDeccaTM1626
= 25065,
824 RacalDRBN34A
= 25110,
830 Rapier2000TADagger
= 25265,
834 Raytheon1220
= 25290,
835 Raytheon1302
= 25300,
836 Raytheon1500
= 25335,
837 Raytheon1645
= 25380,
838 Raytheon1650
= 25425,
839 Raytheon1900
= 25470,
840 Raytheon2502
= 25515,
841 RaytheonTM1650_6X
= 25560,
842 RaytheonTM1660_12S
= 25605,
880 SA2Guideline
= 26685,
883 SA_12TELARILL
= 26795,
884 SAN7GadflyTI
= 26820,
885 SAN11Cads1UN
= 26865,
892 SCANTER_CSR_
= 27140,
898 SeaHunter4MG
= 27270,
899 SeaHunter4TA
= 27315,
900 SeaHunter4TT
= 27360,
906 SeleniaOrion7
= 27585,
907 Seleniatype912
= 27630,
908 SelenniaRAN12L_X
= 27675,
909 SelenniaRTN10X
= 27720,
910 SeliniaARP1645
= 27765,
923 PRV_11SideNet
= 28280,
932 SignaalSMART
= 28665,
933 SignaalSTING
= 28710,
935 SignaalWM20_2
= 28800,
944 SKYGUARDTAUAR_1021
= 29185,
945 SKYGUARDTTUAR_1021
= 29190,
959 SMA3RM20A_SMG
= 29565,
961 SMASPIN749_V_2
= 29655,
968 SMASPS702UPX
= 29970,
969 SMAST2OTOMATIIMH
= 30015,
970 SMA718Beacon
= 30060,
981 S18M1SnowDrift
= 304709,
984 SOACommunist
= 30555,
989 Sparrow_AIM_RIM_7_ILL
= 30690,
992 SPG70_RTN10X_
= 30780,
993 SPG74_RTN20X_
= 30825,
994 SPG75_RTN30X_
= 30870,
995 SPG76_RTN30X_
= 30915,
1012 P_12SpoonRest
= 31680,
1013 SPQ712_RAN12L_X_
= 31725,
1017 _deleted_SPS58
= 31905,
1018 _deleted_SPS64
= 31950,
1019 SPS768_RANEL_
= 31995,
1020 SPS774_RAN10S_
= 32040,
1027 P_15MSquatEye
= 32330,
1034 SSC2BSamletMG
= 32625,
1036 SSN2ABCSSC2A3A2MH
= 32715,
1037 SSN2CSeeker
= 32760,
1039 SSN2CDStyxCDMH
= 32850,
1040 SSN3SSCSSC18BN
= 32895,
1041 SSN3BSepalAL
= 32940,
1042 SSN3BSepalMH
= 32985,
1044 SSN9SirenAL
= 33075,
1045 SSN9SirenMH
= 33120,
1046 SSN12SandboxAL
= 33165,
1047 SSN12SandboxMH
= 33210,
1048 SSN19Shipwreck
= 33255,
1049 SSN19ShipwreckAL
= 33300,
1050 SSN19ShipwreckMH
= 33345,
1052 SSN22Sunburn
= 33435,
1053 SSN22SunburnMH
= 33480,
1056 StraightFlushTA
= 33590,
1057 StraightFlushTT
= 33595,
1058 StraightFlushILL
= 33600,
1065 Superfledermaus
= 33860,
1081 P_14TallKing
= 34515,
1087 THD1940Picador
= 34670,
1090 PRV_9ThinSkin
= 34785,
1091 ThompsonCSFTA_10
= 34795,
1092 ThompsonCSFTHD1040Neptune
= 34830,
1093 ThompsonCSFCalypso
= 34875,
1094 ThompsonCSFCASTOR
= 34920,
1095 ThompsonCSFCastorII
= 34965,
1096 ThompsonCSFDRBC32A
= 35010,
1097 ThompsonCSFDRBJ11D_E
= 35055,
1098 ThompsonCSFDRBV15A
= 35100,
1099 ThompsonCSFDRBV15C
= 35145,
1100 ThompsonCSFDRBV22D
= 35190,
1101 ThompsonCSFDRBV23B
= 35235,
1102 ThompsonCSFDRUA33
= 35280,
1103 ThompsonCSFMarsDRBV21A
= 35325,
1104 ThompsonCSFSeaTiger
= 35370,
1105 ThompsonCSFTriton
= 35415,
1106 ThompsonCSFVegawithDRBC32E
= 35460,
1107 TRS_2105TIGER_G
= 35480,
1108 TRS_2100TIGER_S
= 35490,
1110 D6TinShield
= 3555036,
1128 ScrumHalfTA
= 36220,
1129 TorScrumHalfTTTor
= 36225,
1130 ScrumHalfMG
= 36230,
1151 TYPE343SUNVISORB
= 36990,
1153 Type_404A_CH_
= 37050,
1159 TYPE_931_CH_
= 37265,
1169 TYPE1006_1_
= 37710,
1170 TYPE1006_2_
= 37755,
1178 VOLEXIII_IV
= 38045,
1187 WesternElectricMK10
= 38295,
1188 WestinghouseElectricSPG50
= 38340,
1189 WestinghouseElectricW120
= 38385,
1190 WestinghouseSPS29C
= 38430,
1191 WestinghouseSPS37
= 38475,
1204 WM2XSeriesCAS
= 38925,
1213 // Returns number of values in the EnumDescriptor for this enum.
1214 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1215 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1216 KDIS_EXPORT KUINT32
GetEnumSizeEmitterName();
1218 // Returns the EnumDescriptor value for the specified index.
1219 // Use GetEnumSize<enum> to get the array size.
1220 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1221 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEmitterName( KUINT32 Index
);
1223 KDIS_EXPORT KString
GetEnumAsStringEmitterName( KINT32 Value
);
1225 // Returns true if a value was found.
1226 KDIS_EXPORT KBOOL
GetEnumFromStringEmitterName( const KString
& Value
, KINT32
& ValueOut
);
1228 /************************************************************************/
1229 /* Emitter Function */
1230 /* Function of a particular beam */
1233 /************************************************************************/
1235 enum EmitterFunction
1237 OtherFunctionFunction
= 0,
1238 Multi_functionFunction
= 1,
1239 EarlyWarning_SurveillanceFunction
= 2,
1240 HeightFindingFunction
= 3,
1241 FireControlFunction
= 4,
1242 Acquisition_DetectionFunction
= 5,
1243 TrackingFunction
= 6,
1244 Guidance_IlluminationFunction
= 7,
1245 Firingpoint_launchpointlocationFunction
= 8,
1246 RangingFunction
= 9,
1247 RadarAltimeterFunction
= 10,
1248 ImagingFunction
= 11,
1249 MotionDetectionFunction
= 12,
1250 NavigationFunction
= 13,
1251 Weather_MeterologicalFunction
= 14,
1252 InstrumentationFunction
= 15,
1253 Identification_Classification_includingIFF_Function
= 16,
1254 AAA_Anti_AircraftArtillery_FireControlFunction
= 17,
1255 AirSearch_BombFunction
= 18,
1256 AirInterceptFunction
= 19,
1257 AltimeterFunction
= 20,
1258 AirMappingFunction
= 21,
1259 AirTrafficControlFunction
= 22,
1260 BeaconFunction
= 23,
1261 BattlefieldSurveillanceFunction
= 24,
1262 GroundControlApproachFunction
= 25,
1263 GroundControlInterceptFunction
= 26,
1264 CoastalSurveillanceFunction
= 27,
1265 Decoy_MimicFunction
= 28,
1266 DataTransmissionFunction
= 29,
1267 EarthSurveillanceFunction
= 30,
1268 GunLayBeaconFunction
= 31,
1269 GroundMappingFunction
= 32,
1270 HarborSurveillanceFunction
= 33,
1271 ILS_InstrumentLandingSystem_Function
= 35,
1272 IonosphericSoundFunction
= 36,
1273 InterrogatorFunction
= 37,
1274 BarrageJammingFunction
= 38,
1275 ClickJammingFunction
= 39,
1276 FrequencySweptJammingFunction
= 41,
1277 JammingFunction
= 42,
1278 PulsedJammingFunction
= 44,
1279 RepeaterJammingFunction
= 45,
1280 SpotNoiseJammingFunction
= 46,
1281 MissileAcquisitionFunction
= 47,
1282 MissileDownlinkFunction
= 48,
1284 SurfaceSearchFunction
= 51,
1285 ShellTrackingFunction
= 52,
1286 TelevisionFunction
= 56,
1287 UnknownFunction
= 57,
1288 VideoRemotingFunction
= 58,
1289 ExperimentalorTrainingFunction
= 59,
1290 MissileGuidanceFunction
= 60,
1291 MissileHomingFunction
= 61,
1292 MissileTrackingFunction
= 62,
1293 Jamming_noiseFunction
= 64,
1294 Jamming_deceptionFunction
= 65,
1295 Navigation_DistanceMeasuringEquipmentFunction
= 71,
1296 TerrainFollowingFunction
= 72,
1297 WeatherAvoidanceFunction
= 73,
1298 ProximityFuseFunction
= 74,
1299 RadiosondeFunction
= 76,
1300 SonobuoyFunction
= 77,
1301 Weapon_non_lethalFunction
= 96,
1302 Weapon_lethalFunction
= 97
1305 // Returns number of values in the EnumDescriptor for this enum.
1306 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1307 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1308 KDIS_EXPORT KUINT32
GetEnumSizeEmitterFunction();
1310 // Returns the EnumDescriptor value for the specified index.
1311 // Use GetEnumSize<enum> to get the array size.
1312 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1313 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorEmitterFunction( KUINT32 Index
);
1315 KDIS_EXPORT KString
GetEnumAsStringEmitterFunction( KINT32 Value
);
1317 // Returns true if a value was found.
1318 KDIS_EXPORT KBOOL
GetEnumFromStringEmitterFunction( const KString
& Value
, KINT32
& ValueOut
);
1320 /************************************************************************/
1321 /* State Update Indicator */
1322 /* Contains Event types */
1324 /* Electromagnetic Emission PDU */
1325 /************************************************************************/
1327 enum StateUpdateIndicator
1329 StateUpdateHeartbeat
= 0,
1330 ChangedDataUpdate
= 1
1333 // Returns number of values in the EnumDescriptor for this enum.
1334 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1335 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1336 KDIS_EXPORT KUINT32
GetEnumSizeStateUpdateIndicator();
1338 // Returns the EnumDescriptor value for the specified index.
1339 // Use GetEnumSize<enum> to get the array size.
1340 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1341 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorStateUpdateIndicator( KUINT32 Index
);
1343 KDIS_EXPORT KString
GetEnumAsStringStateUpdateIndicator( KINT32 Value
);
1345 // Returns true if a value was found.
1346 KDIS_EXPORT KBOOL
GetEnumFromStringStateUpdateIndicator( const KString
& Value
, KINT32
& ValueOut
);
1348 /************************************************************************/
1349 /* High Density Track/Jam */
1350 /* Indicates if the receiving simulation application can assume that all*/
1351 /* targets, in the scan pattern which the sending emitter can track or */
1352 /* jam are being tracked/jammed/ When selected the system issuing the */
1353 /* PDU shall not include any entities in the track/jam field. */
1355 /* Electromagnetic Emission PDU */
1356 /************************************************************************/
1358 enum HighDensityTrackJam
1364 // Returns number of values in the EnumDescriptor for this enum.
1365 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1366 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1367 KDIS_EXPORT KUINT32
GetEnumSizeHighDensityTrackJam();
1369 // Returns the EnumDescriptor value for the specified index.
1370 // Use GetEnumSize<enum> to get the array size.
1371 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1372 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorHighDensityTrackJam( KUINT32 Index
);
1374 KDIS_EXPORT KString
GetEnumAsStringHighDensityTrackJam( KINT32 Value
);
1376 // Returns true if a value was found.
1377 KDIS_EXPORT KBOOL
GetEnumFromStringHighDensityTrackJam( const KString
& Value
, KINT32
& ValueOut
);
1381 /************************************************************************/
1382 /* Beam State - UID 318 */
1383 /* Indicates if the state of the beam. */
1385 /* Electromagnetic Emission PDU - Emitter Beam record */
1386 /************************************************************************/
1394 // Returns number of values in the EnumDescriptor for this enum.
1395 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1396 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1397 KDIS_EXPORT KUINT32
GetEnumSizeBeamState();
1399 // Returns the EnumDescriptor value for the specified index.
1400 // Use GetEnumSize<enum> to get the array size.
1401 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1402 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorBeamState( KUINT32 Index
);
1404 KDIS_EXPORT KString
GetEnumAsStringBeamState( KINT32 Value
);
1406 // Returns true if a value was found.
1407 KDIS_EXPORT KBOOL
GetEnumFromStringBeamState( const KString
& Value
, KINT32
& ValueOut
);
1412 /************************************************************************/
1413 /* Beam Function (UID 78) */
1414 /* Specifies the function of a specific beam */
1416 /* Electromagnetic_Emission_PDU */
1417 /************************************************************************/
1426 AcquisitionAndTracking
= 5,
1427 CommandGuidance
= 6,
1432 ActiveRadarMissileSeeker
= 11,
1435 NavigationWeather
= 14,
1436 Meteorological
= 15,
1437 DataTransmission
= 16,
1438 NavigationalDirectionalBeacon
= 17,
1439 TimeSharedSearch
= 20,
1440 TimeSharedAcquisition
= 21,
1441 TimeSharedTrack
= 22,
1442 TimeSharedCommandGuidance
= 23,
1443 TimeSharedIllumination
= 24,
1444 TimeSharedJamming
= 25,
1447 // Returns number of values in the EnumDescriptor for this enum.
1448 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1449 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1450 KDIS_EXPORT KUINT32
GetEnumSizeBeamFunction();
1452 // Returns the EnumDescriptor value for the specified index.
1453 // Use GetEnumSize<enum> to get the array size.
1454 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1455 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorBeamFunction(KUINT32 Index
);
1457 KDIS_EXPORT KString
GetEnumAsStringBeamFunction(KINT32 Value
);
1459 // Returns true if a value was found.
1460 KDIS_EXPORT KBOOL
GetEnumFromStringBeamFunction(const KString
& Value
, KINT32
& ValueOut
);
1462 /************************************************************************/
1463 /* Passive Parameter Index */
1464 /* Indicates which database record ( or file ) shall */
1465 /* used in the definition of passive signature (unintentional) */
1466 /* emissions of the entity. */
1468 /* Underwater_Acoustic_PDU */
1469 /************************************************************************/
1471 enum PassiveParameterIndex
1476 // Returns number of values in the EnumDescriptor for this enum.
1477 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1478 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1479 KDIS_EXPORT KUINT32
GetEnumSizePassiveParameterIndex();
1481 // Returns the EnumDescriptor value for the specified index.
1482 // Use GetEnumSize<enum> to get the array size.
1483 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1484 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorPassiveParameterIndex( KUINT32 Index
);
1486 KDIS_EXPORT KString
GetEnumAsStringPassiveParameterIndex( KINT32 Value
);
1488 // Returns true if a value was found.
1489 KDIS_EXPORT KBOOL
GetEnumFromStringPassiveParameterIndex( const KString
& Value
, KINT32
& ValueOut
);
1491 /************************************************************************/
1492 /* Additional Passive Parameter Index */
1493 /* Indicates which database record ( or file ) shall be used to describe*/
1494 /* an additional acoustic source such as transient effects, pre-launch */
1495 /* data( i.e torpedo tube floodings ), additional sources, and the */
1496 /* states available for each source type. This index shall be used to */
1497 /* identify data from databases such as the Special Event Database */
1498 /* ( SEDB )and an Additional Narrowband Database ( ANDB ). */
1500 /* Underwater_Acoustic_PDU */
1501 /************************************************************************/
1503 enum AdditionalPassiveParameterIndex
1506 GrahamsMKVCoffeeMaker
= 1
1507 // >32768 Reserved for classified enumerations
1508 // Point of Contact =
1511 // Returns number of values in the EnumDescriptor for this enum.
1512 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1513 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1514 KDIS_EXPORT KUINT32
GetEnumSizeAdditionalPassiveParameterIndex();
1516 // Returns the EnumDescriptor value for the specified index.
1517 // Use GetEnumSize<enum> to get the array size.
1518 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1519 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAdditionalPassiveParameterIndex( KUINT32 Index
);
1521 KDIS_EXPORT KString
GetEnumAsStringAdditionalPassiveParameterIndex( KINT32 Value
);
1523 // Returns true if a value was found.
1524 KDIS_EXPORT KBOOL
GetEnumFromStringAdditionalPassiveParameterIndex( const KString
& Value
, KINT32
& ValueOut
);
1526 /************************************************************************/
1527 /* Propulsion Plant Configuration */
1528 /* Used to determine the passive signature characteristics of an entity */
1529 /* Bit 7 is used to indicate hull mounted marker status */
1530 /* HMMS = Hull Mounted Marker Status */
1532 /* Underwater_Acoustic_PDU */
1533 /************************************************************************/
1535 enum PropulsionPlantConfiguration
1537 OtherPPC_HMMS_Off
= 0,
1538 OtherPPC_HMMS_On
= 128,
1539 Diesel_Electric_HMMS_Off
= 1,
1540 Diesel_Electric_HMMS_On
= 129,
1541 Diesel_HMMS_Off
= 2,
1542 Diesel_HMMS_On
= 130,
1543 Battery_HMMS_Off
= 3,
1544 Battery_HMMS_On
= 131,
1545 Turbine_Reduction_HMMS_Off
= 4,
1546 Turbine_Reduction_HMMS_On
= 132,
1548 Steam_HMMS_On
= 134,
1549 Gas_Turbine_HMMS_Off
= 7,
1550 Gas_Turbine_HMMS_On
= 135
1553 // Returns number of values in the EnumDescriptor for this enum.
1554 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1555 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1556 KDIS_EXPORT KUINT32
GetEnumSizePropulsionPlantConfiguration();
1558 // Returns the EnumDescriptor value for the specified index.
1559 // Use GetEnumSize<enum> to get the array size.
1560 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1561 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorPropulsionPlantConfiguration( KUINT32 Index
);
1563 KDIS_EXPORT KString
GetEnumAsStringPropulsionPlantConfiguration( KINT32 Value
);
1565 // Returns true if a value was found.
1566 KDIS_EXPORT KBOOL
GetEnumFromStringPropulsionPlantConfiguration( const KString
& Value
, KINT32
& ValueOut
);
1568 /************************************************************************/
1569 /* AcousticSystemName */
1570 /* Specifies the system for a UA emitter */
1572 /* Underwater_Acoustic_PDU - Acoustic Emitter System */
1573 /************************************************************************/
1575 enum AcousticSystemName
1577 OtherAcousticSystemName
= 0,
1589 // Returns number of values in the EnumDescriptor for this enum.
1590 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1591 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1592 KDIS_EXPORT KUINT32
GetEnumSizeAcousticSystemName();
1594 // Returns the EnumDescriptor value for the specified index.
1595 // Use GetEnumSize<enum> to get the array size.
1596 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1597 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAcousticSystemName( KUINT32 Index
);
1599 KDIS_EXPORT KString
GetEnumAsStringAcousticSystemName( KINT32 Value
);
1601 // Returns true if a value was found.
1602 KDIS_EXPORT KBOOL
GetEnumFromStringAcousticSystemName( const KString
& Value
, KINT32
& ValueOut
);
1604 /************************************************************************/
1605 /* AcousticSystemFunction */
1606 /* Describes the function of the acoustic system */
1608 /* Underwater_Acoustic_PDU - Acoustic Emitter System */
1609 /************************************************************************/
1611 enum AcousticSystemFunction
1613 OtherAcousticSystemFunction
= 0,
1614 PlatformSearch_Detect_Track
= 1,
1617 WeaponSearch_Detect_Track_Detect
= 4
1620 // Returns number of values in the EnumDescriptor for this enum.
1621 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1622 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1623 KDIS_EXPORT KUINT32
GetEnumSizeAcousticSystemFunction();
1625 // Returns the EnumDescriptor value for the specified index.
1626 // Use GetEnumSize<enum> to get the array size.
1627 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1628 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorAcousticSystemFunction( KUINT32 Index
);
1630 KDIS_EXPORT KString
GetEnumAsStringAcousticSystemFunction( KINT32 Value
);
1632 // Returns true if a value was found.
1633 KDIS_EXPORT KBOOL
GetEnumFromStringAcousticSystemFunction( const KString
& Value
, KINT32
& ValueOut
);
1635 /************************************************************************/
1636 /* Active Emission Parameter Index */
1637 /* Describes the function of the acoustic system */
1639 /* Underwater_Acoustic_PDU - UA Fundamental Parameter Data */
1640 /************************************************************************/
1642 enum ActiveEmissionParameterIndex
1644 OtherActiveEmissionParameterIndex
= 0
1647 // Returns number of values in the EnumDescriptor for this enum.
1648 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1649 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1650 KDIS_EXPORT KUINT32
GetEnumSizeActiveEmissionParameterIndex();
1652 // Returns the EnumDescriptor value for the specified index.
1653 // Use GetEnumSize<enum> to get the array size.
1654 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1655 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorActiveEmissionParameterIndex( KUINT32 Index
);
1657 KDIS_EXPORT KString
GetEnumAsStringActiveEmissionParameterIndex( KINT32 Value
);
1659 // Returns true if a value was found.
1660 KDIS_EXPORT KBOOL
GetEnumFromStringActiveEmissionParameterIndex( const KString
& Value
, KINT32
& ValueOut
);
1662 /************************************************************************/
1664 /* Desscribes the UA scan pattern */
1666 /* Underwater_Acoustic_PDU - UA Fundamental Parameter Data */
1667 /************************************************************************/
1671 ScanPatternNotUsed
= 0,
1676 ContinuousSearch
= 5
1679 // Returns number of values in the EnumDescriptor for this enum.
1680 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1681 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1682 KDIS_EXPORT KUINT32
GetEnumSizeScanPattern();
1684 // Returns the EnumDescriptor value for the specified index.
1685 // Use GetEnumSize<enum> to get the array size.
1686 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1687 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorScanPattern( KUINT32 Index
);
1689 KDIS_EXPORT KString
GetEnumAsStringScanPattern( KINT32 Value
);
1691 // Returns true if a value was found.
1692 KDIS_EXPORT KBOOL
GetEnumFromStringScanPattern( const KString
& Value
, KINT32
& ValueOut
);
1694 /************************************************************************/
1696 /* Represents the power settings after any response lags have been */
1699 /* SEES_PDU - Propulsion System */
1700 /************************************************************************/
1702 enum PowerSettingAircraft
1704 AircraftEngineOff
= -100,
1705 AircraftIdlePower
= 0,
1706 AircraftMilPower
= 50,
1711 // Returns number of values in the EnumDescriptor for this enum.
1712 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1713 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1714 KDIS_EXPORT KUINT32
GetEnumSizePowerSettingAircraft();
1716 // Returns the EnumDescriptor value for the specified index.
1717 // Use GetEnumSize<enum> to get the array size.
1718 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1719 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorPowerSettingAircraft( KUINT32 Index
);
1721 KDIS_EXPORT KString
GetEnumAsStringPowerSettingAircraft( KINT32 Value
);
1723 // Returns true if a value was found.
1724 KDIS_EXPORT KBOOL
GetEnumFromStringPowerSettingAircraft( const KString
& Value
, KINT32
& ValueOut
);
1726 enum PowerSettingHelicopter
1728 HelicopterEngineOff
= -100,
1729 HelicopterIdlePower
= 0,
1730 HelicopterMaxPower
= 100
1733 // Returns number of values in the EnumDescriptor for this enum.
1734 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1735 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1736 KDIS_EXPORT KUINT32
GetEnumSizePowerSettingHelicopter();
1738 // Returns the EnumDescriptor value for the specified index.
1739 // Use GetEnumSize<enum> to get the array size.
1740 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1741 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorPowerSettingHelicopter( KUINT32 Index
);
1743 KDIS_EXPORT KString
GetEnumAsStringPowerSettingHelicopter( KINT32 Value
);
1745 // Returns true if a value was found.
1746 KDIS_EXPORT KBOOL
GetEnumFromStringPowerSettingHelicopter( const KString
& Value
, KINT32
& ValueOut
);
1748 enum PowerSettingTank
1750 TankEngineOff
= -100,
1755 // Returns number of values in the EnumDescriptor for this enum.
1756 // This can be used to iterate through all possible enum values by using GetEnumDescriptor<enum>.
1757 // If KDIS_USE_ENUM_DESCRIPTORS is not set then 0 will be returned.
1758 KDIS_EXPORT KUINT32
GetEnumSizePowerSettingTank();
1760 // Returns the EnumDescriptor value for the specified index.
1761 // Use GetEnumSize<enum> to get the array size.
1762 // If KDIS_USE_ENUM_DESCRIPTORS is not set then NULL will be returned.
1763 KDIS_EXPORT
const EnumDescriptor
* GetEnumDescriptorPowerSettingTank( KUINT32 Index
);
1765 KDIS_EXPORT KString
GetEnumAsStringPowerSettingTank( KINT32 Value
);
1767 // Returns true if a value was found.
1768 KDIS_EXPORT KBOOL
GetEnumFromStringPowerSettingTank( const KString
& Value
, KINT32
& ValueOut
);
1770 } // END namespace ENUMS
1771 } // END namespace DATA_TYPES
1772 } // END namespace KDIS