/* const MAX_LAENGE_GEFECHTSFELDTELEGRAMM = 2000; */ /*-------------------------------*/ /* Telegramm-ID's */ /*-------------------------------*/ enum8 gef_telegramm_id_et { GEF_BESTAETIGUNG = 0, GEF_INIT = 1, GEF_MANIPULATIONSMELDUNG = 2, GEF_UMGEBUNGS_MELDUNG = 3, GEF_UMGEBUNGS_MELDUNG2 = 203, GEF_AUFFORDERUNG_BITE_MELDUNG = 4, GEF_BITE_MELDUNG = 5, GEF_BITE_MELDUNG2 = 205, GEF_LIZENSIERUNG_TNE = 6, GEF_BETRIEBSZUSTAND_AUSSTATTUNG = 7, GEF_KONFIGURATION_TEILNEHMER = 8, GEF_KONFIGURATION_WIRKMODELL = 9, GEF_ANFORDERUNG_KONFIGURATIONSDATEN = 10, GEF_KONFIGURATIONSMELDUNG = 11, GEF_FEHLERMELDUNG_GFD = 12, GEF_POSITIONS_MELDUNG = 21, GEF_POSITIONS_MELDUNG_MIT_TEILNEHMER = 22, GEF_POSITIONS_MELDUNG_LFZ = 23, GEF_POSITIONSKORREKTURDATEN = 24, GEF_WIRKFELD_EINZELGESCHOSS = 31, GEF_WIRKFELD_FLAECHENDECKENDES_FEUER = 32, GEF_WIRKFELD_FLAECHENDECKENDES_FEUER_STOP = 33, GEF_WIRKFELD_FLAECHENDECKENDES_FEUER_FORTSETZEN = 34, GEF_WIRKFELD_MINENSPERRE = 35, GEF_WIRKFELD_STATUS_MINENSPERRE = 36, GEF_WIRKFELD_A_KAMPFMITTEL = 37, GEF_WIRKFELD_C_KAMPFSTOFF = 38, GEF_DEAKTIVIERUNG_WIRKFELD = 39, GEF_WIRKFELD_AENDERUNG_BEZEICHNER = 40, GEF_DEAKTIVIERUNG_EINZELMINE = 41, GEF_REAKTIVIERUNG_DUS_MINE = 42, GEF_DEFINITION_IED = 43, GEF_ZUSTAND_IED = 44, GEF_STATUS_EINZELMINENSIMULATOR = 45, GEF_WIRKFELD_EINZELMINENSIMULATOR = 46, GEF_FEUER_EREIGNIS = 51, GEF_TREFFER_EREIGNIS_DUS = 52, GEF_TREFFER_EREIGNIS_WIRKSIMULATION = 53, GEF_TREFFER_AUSLOESUNG = 54, GEF_SCHIEDSRICHTEREINGRIFF = 55, GEF_SELEKTIVE_AUFMUNITIONIERUNG = 56, GEF_TREFFER_EREIGNIS_DUS_IPS = 228, GEF_TREFFER_EREIGNIS_WIRKSIMULATION_IPS = 229, GEF_TAKTISCHER_STATUS = 61, GEF_FUNKTIONSRAUM = 62, GEF_EINTRETEN_FUNKTIONSRAUM = 63, GEF_DEAKTIVIEREN_FUNKTIONSRAUM = 64, GEF_DATENVERKEHR_SRT_TDS = 71, GEF_DATENVERKEHR_TDS_SRT = 72, GEF_DATENVERKEHR_DMF_TDS = 73, GEF_DATENVERKEHR_TDS_DMF = 74, GEF_STEUERUNG_VERKEHRSAUFKOMMEN = 81, GEF_NACHFORDERUNG_BROADCAST_TELEGRAMME = 82, GEF_NOP = 83, GEF_SONDERSENSORIK_BETRIEBSZUSTAND = 91, GEF_SONDERSENSORIK_FAHRSPUR = 92, GEF_SONDERSENSORIK_DATEN = 93, GEF_SONDERSENSORIK_TREFFER_AUFGES_TLN = 94, GEF_SONDERSENSORIK_MIVANH_VERLEGEDATEN = 95, GEF_SONDERSENSORIK_WMIV_VERLEGEDATEN = 96, GEF_SONDERSENSORIK_MIVANH_VERLEGEPOSITION = 97, GEF_SPRACHAUSWAHL = 101, GEF_ALLGEMEINE_NACHRICHT = 102, GEF_ECHO_ON_OFF = 103, GEF_ESW_MELDUNG = 104, GEF_WF_SAMMELDEAKTIVIERUNG = 105, GEF_WF_SAMMELDEAKTIVIERUNG_DUS_MINEN = 106, GEF_WF_SAMMELDEAKTIVIERUNG_FUNKTIONSRAUM = 107, GEF_DATENVERKEHR_GEOP_TDS = 181, GEF_DATENVERKEHR_TDS_GEOP = 182, GEF_DATENVERKEHR_TGTS_TDS = 183, GEF_DATENVERKEHR_TDS_TGTS = 184, GEF_GERAETEEREIGNIS = 185, GEF_WAFFENZUORDNUNG = 200, GEF_IPS_POSITIONSDATEN = 201, GEF_STANDORTBESTIMMUNG = 25, GEF_MUNITIONSVORRAT_EINER_ZUGEORDNETEN_WAFFE = 202, GEF_FEUEREREIGNIS_MIT_WAFFENZUORDNUNG = 210, GEF_AUSLOESUNG_DUS_TREFFER = 211, GEF_ANFORDERUNG_SW_VERSION = 212, GEF_SW_VERSIONSMELDUNG = 213, GEF_TREFFER_EREIGNIS_SEKUNDAERWIRKUNG = 218, GEF_TECHNIK_FUNKTIONSRAUM = 219, GEF_ANFORDERUNG_KONFIG_ZEG = 220, GEF_KONFIGURATION_IPS = 221, GEF_KONFIGURATION_ZEG = 222, GEF_TREFFEREREIGNIS_SEKUNDAERWIRKUNG = 223, GEF_TREFFEREREIGNIS_GEBAEUDE = 224, GEF_TEILNEHMERMODE_SETZEN = 230, GEF_TEILNEHMERMODE_MELDUNG = 231, GEF_TEILNEHMERMODE_ANFORDERN = 232, GEF_TEILNEHMER_KONFIG_ANTWORT = 233, GEF_TEILNEHMER_KONFIG_SETZEN = 234, GEF_TEILNEHMER_KONFIG_ANFORDERN = 235, GEF_SANITAETSDIENST_INSTANDSETZUNG = 240, GEF_BESTANDSMELDUNG_SANITAETSMATERIAL = 241, GEF_SANITAETSDIENST_INSTANDSETZUNG_PVSAN = 242, GEF_GEFECHTSFELDTELEGRAMM = 300, GEF_UEBERLAST_WARNUNG_ENTWARNUNG = 301, GEF_DATENFUNK_INIT = 302, GEF_DATENFUNK_EXIT = 303, GEF_DATENFUNK_EXIT_ACKNOWLEDGE = 304, GEF_ZUORDNUNG_GRUPPENRUFADRESSE = 305, GEF_NOTRUF = 1120, GEF_LASER_TARGET_DESIGNATOR_UPDATE = 214 }; /*==============================================================*/ /* Strukturtypen, die mehrfach verwendet werden */ /*==============================================================*/ /*---------------------------------------*/ /* Identifikation */ /*---------------------------------------*/ typedef UInt16 gef_ausstattungs_id_t; /*---------------------------------------*/ /* Header */ /*---------------------------------------*/ struct gef_header_rt { gef_ausstattungs_id_t identitaet; }; /*---------------------------------------*/ /* GPS-Zeit */ /*---------------------------------------*/ struct gef_gps_zeit_rt { u_int GPS_zeit; }; /*---------------------------------------*/ /* GPS-Position */ /*---------------------------------------*/ struct gef_gps_position_rt { SInt24 nordwert; SInt24 ostwert; }; /*---------------------------------------*/ /* Lastzustand Datenfunk */ /*---------------------------------------*/ enum8 gef_lastzustand_datenfunk_et { Normallast = 0, Hochlast = 1, Ueberlast = 2 }; /*==============================================================*/ /* Beschreibung der speziellen TETRA-Telegramme */ /*==============================================================*/ struct TETRA_register_indication_rt { UInt32LE ISSI_ext_host; }; enum8 TETRA_registration_status_et { ISSI_successful_registered = 0, Duplicate_ISSI = 1, Invalid_ISSI = 2, Invalid_IP_address = 3 }; struct TETRA_register_response_rt { TETRA_registration_status_et registration_status; }; enum8 TETRA_login_status_et { Login_Request = 1, Login_Accept = 2, Login_Reject = 3 }; enum8 TETRA_login_mastering_et { No_Mastering = 0, Mastering = 1 }; enum8 TETRA_reject_cause_et { Reserved = 0, EqIdAlreadyAssigned = 1, IssiAlreadyAssigned = 2, EqIdAssignedInOtherExercise = 3 }; struct TETRA_login_telegram_rt { gef_header_rt header; TETRA_login_status_et:0..1 login_status; TETRA_login_mastering_et:2..2 login_mastering; TETRA_reject_cause_et:3..6! reject_cause; }; enum8 TETRA_telegram_type_et { NotFragmented = 0, FirstFragment = 1, MiddleFragment = 3, LastFragment = 2 }; enum8 TETRA_fragment_counter_et { 0 = 0, 1 = 1, 2 = 2, 3 = 3, 4 = 4, 5 = 5, 6 = 6, 7 = 7, 8 = 8, 9 = 9, 10 = 10, 11 = 11, 12 = 12, 13 = 13, 14 = 14, 15 = 15 }; struct TETRA_first_fragment_rt { TETRA_telegram_type_et:0..1 telegram_type; TETRA_fragment_counter_et:4..7! fragment_counter; gef_telegramm_id_et telegram_id; opaque data<28>; /* 28 => dyn.-array-offset */ }; struct TETRA_middle_fragment_rt { TETRA_telegram_type_et:0..1 telegram_type; TETRA_fragment_counter_et:4..7! fragment_counter; opaque data<27>; /* 27 => dyn.-array-offset */ }; struct TETRA_last_fragment_rt { TETRA_telegram_type_et:0..1 telegram_type; TETRA_fragment_counter_et:4..7! fragment_counter; opaque data<27>; /* 27 => dyn.-array-offset */ }; struct TETRA_air_interface_load_report_rt { UInt8 network_index; UInt16LE base_station_ID; UInt8 channel_ID; UInt8 queue_length; }; struct TETRA_status_ind_req_rt { UInt32LE ISSI_host; UInt32LE ISSI_destination; UInt32LE status; }; enum8 TETRA_monitor_et { No_Monitoring = 0, Monitoring = 1 }; struct TETRA_group_monitoring_ind_rt { UInt32LE ISSI_host; TETRA_monitor_et monitor; UInt16LEIdx count_gssi; UInt32LE gssi<5>; }; struct TETRA_air_interface_load_req_rt { UInt16LEIdx number_of_reports; TETRA_air_interface_load_report_rt air_interface_load_report<4>; }; struct TETRA_unknown_PDU_rt { UInt8 magic_number; UInt8 counter; UInt16LE length; UInt8 PDU_Type; opaque data<5>; /* 5 => dyn.-array-offset */ }; /*==============================================================*/ /* Beschreibung der Telegramme */ /*==============================================================*/ /*----------------------------------------------------------------*/ /* Automatische Conversion */ /*----------------------------------------------------------------*/ /* Alle TETRA-Meldungen, die mit der Klasse CoPrtCnvTelegramConverter in eine Zentral-Meldung konvertiert werden, müssen trotzdem in der TETRA- union definiert werden, damit die Telegramme Namen bekommen. */ struct gef_automatic_conversion_rt { gef_header_rt header; UInt8 fehler_diese_meldung_sollte_automatisch_konvertiert_werden; }; /*----------------------------------------------------------------*/ /* Init-Meldung */ /* INIT_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_tln_aufmunitionieren_et { tln_am_nein = 0, tln_am_ja = 1 }; enum8 gef_tln_zuruecksetzen_et { tln_zs_nein = 0, tln_zs_ja = 1 }; enum8 gef_tln_manipulation_et { tln_mp_nein = 0, tln_mp_reset = 1 }; enum8 gef_tln_medizinische_vorraete_auffuellen_et { tln_mv_nein = 0, tln_mv_reset = 1 }; /* MSB = 0 ... */ struct gef_initialisierungsdaten_rt { gef_tln_aufmunitionieren_et:2..2 tln_aufmunitionieren; gef_tln_zuruecksetzen_et:1..1 tln_zuruecksetzen; gef_tln_manipulation_et:7..7 tln_manipulation; gef_tln_medizinische_vorraete_auffuellen_et:6..6 tln_mediziniesche_vorraete_auffuellen; }; struct gef_init_meldung_rt { gef_header_rt header; gef_initialisierungsdaten_rt initialisierungsdaten; }; /*----------------------------------------------------------------*/ /* Umgebungs-Meldung */ /* UMGEBUNGS_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_uebungspause_et { KEINE_UEBUNGSPAUSE = 0, B_MIT_TEST = 1 }; enum8 gef_inhbit_time_et { IH_UNDEFINED = 0, IH_1_SEKUNDE = 1, IH_2_SEKUNDEN = 2, IH_3_SEKUNDEN = 3, IH_4_SEKUNDEN = 4, IH_5_SEKUNDEN = 5, IH_6_SEKUNDEN = 6, IH_7_SEKUNDEN = 7, IH_8_SEKUNDEN = 8, IH_9_SEKUNDEN = 9, IH_10_SEKUNDEN = 10, IH_11_SEKUNDEN = 11, IH_12_SEKUNDEN = 12, IH_13_SEKUNDEN = 13, IH_14_SEKUNDEN = 14, IH_15_SEKUNDEN = 15, IH_16_SEKUNDEN = 16, IH_17_SEKUNDEN = 17, IH_18_SEKUNDEN = 18, IH_19_SEKUNDEN = 19, IH_20_SEKUNDEN = 20, IH_21_SEKUNDEN = 21, IH_22_SEKUNDEN = 22, IH_23_SEKUNDEN = 23, IH_24_SEKUNDEN = 24, IH_25_SEKUNDEN = 25, IH_26_SEKUNDEN = 26, IH_27_SEKUNDEN = 27, IH_28_SEKUNDEN = 28, IH_29_SEKUNDEN = 29, IH_30_SEKUNDEN = 30, IH_31_SEKUNDEN = 31 }; struct gef_betriebszustaende_gefechtsfeld_rt { gef_uebungspause_et:0..0 uebungspause; gef_inhbit_time_et:1..5 pos_inhibit_time; gef_lastzustand_datenfunk_et:6..7! lastzustand_datenfunk; }; struct gef_basiskoordinate_zur_positionsbestimmung_rt { UInt8 zone; string band; string quadrat[2]; UInt8 ostwert; UInt8 nordwert; }; struct gef_umgebungs_meldung_rt { gef_header_rt header; UInt16 broadcast_index; UInt16 uebungskennung; UInt8 ruecksetzzaehler; gef_betriebszustaende_gefechtsfeld_rt betriebszustaende_gefechtsfeld; string zeitzone; gef_basiskoordinate_zur_positionsbestimmung_rt basiskoordinate_zur_positionsbestimmung; }; struct gef_umgebungs_meldung2_rt { gef_header_rt header; UInt16 broadcast_index; UInt16 uebungskennung; UInt8 ruecksetzzaehler; gef_betriebszustaende_gefechtsfeld_rt betriebszustaende_gefechtsfeld; string zeitzone; gef_basiskoordinate_zur_positionsbestimmung_rt basiskoordinate_zur_positionsbestimmung; gef_gps_zeit_rt aktuelle_zeit; }; /*----------------------------------------------------------------*/ /* Aufforderung BITE-Meldung */ /* AUFFORDERUNG_BITE_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_bite_meldungsart_et { NUR_STATUSABFRAGE = 0, ERST_SELBSTTEST = 1 }; struct gef_aufforderung_bite_meldung_rt { gef_header_rt header; gef_bite_meldungsart_et bite_meldungsart; }; /*----------------------------------------------------------------*/ /* Konfiguration Wirkmodell */ /* GEF_KONFIGURATION_WIRKMODELL */ /*----------------------------------------------------------------*/ struct gef_wirkmodell_rt { UInt8 minen_ied; UInt8 steilfeuer; UInt8 einsatzmittel; UInt8 ac_waffen; }; struct gef_konfiguration_wirkmodell_rt { gef_header_rt header; gef_wirkmodell_rt wirkmodelle; }; /*----------------------------------------------------------------*/ /* Konfigurationsmeldung */ /* GEF_KONFIGURATION_TEILNEHMER */ /*----------------------------------------------------------------*/ struct gef_login_parameter_rt { UInt8 wartezeit_versuche; UInt8 anzahl_versuche; UInt8 mastering_flag; }; enum8 gef_sprache_et { keine_aenderung = 0, deutsch = 1, englisch = 2, franzoesisch = 3 }; struct gef_konfiguration_abe_rt { UInt8 sprachausgabe; gef_sprache_et sprache; }; struct gef_konfiguration_wirkdarstellung_rt { UInt8 pyrotechnik; }; enum8 gef_betriebsart_mhgr_sensorik_et { BetriebAmAusbAusstgPers = 0, BetriebAnSonstigenFzg = 2, BetriebAnSrFahrzeug = 3 }; struct gef_konfiguration_mhgr_sensorik_rt { gef_betriebsart_mhgr_sensorik_et betriebsart; UInt8 energiesparmodus; }; enum8 gef_konfiguration_ss_fir_et { keineKonfigurationFir = 0, fir = 1, firSpzMarder = 2 }; enum8 gef_konfiguration_ss_minenverlegung_et { keineKonfigurationMinenverlegung = 0, MvAnh = 1, Wmv = 2 }; enum8 gef_konfiguration_ss_standard_et { keineKonfigurationSsStandard = 0, ZABC = 3, CSF = 4, PzBr = 5, MRF = 7 }; struct gef_konfiguration_sondersenoriken_rt { gef_konfiguration_ss_fir_et fir; gef_konfiguration_ss_minenverlegung_et minenverlegung; gef_konfiguration_ss_standard_et standard; }; enum8 gef_agdus_hw_modus_et { ohneHelmOhneWeste = 1, mitHelmOhneWeste = 2, mitHelmMitWeste = 3 }; enum8 gef_konfigurations_positionsupdate_et { Fahrzeug = 0, Person = 1, Luftfahrzeug = 2 }; struct gef_konfiguration_anzeige_rt { UInt8 hauptgruppe; UInt8 untergruppe; }; struct gef_konfigurationsdaten_rt { gef_ausstattungs_id_t identitaet; UInt16 can_startup_zeit; unsigned char teilnehmertyp; gef_login_parameter_rt login_parameter; UInt32LE can_geraete_konfiguration; gef_konfiguration_abe_rt abe; gef_konfiguration_wirkdarstellung_rt wirkdarstellung; gef_konfiguration_mhgr_sensorik_rt mhgr_sensorik; gef_konfiguration_sondersenoriken_rt sondersenrik; gef_agdus_hw_modus_et agdus_hw_modus; gef_konfigurations_positionsupdate_et positionsupdate; gef_konfiguration_anzeige_rt anzeige; UInt8 wirkmodellAgdus; }; % struct gef_konfiguration_teilnehmer_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; gef_konfigurationsdaten_rt konfiguration; gef_wirkmodell_rt wirkmodelle; }; /*----------------------------------------------------------------*/ /* Lizensierung TNE-Meldung */ /* LIZENSIERUNG_TNE_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_lizenzierungsart_et { ANMELDUNG_ERFOLGREICH = 0, ANMELDUNG_ABGELEHNT = 1, ABMELDUNG = 2 }; struct gef_lizensierung_tne_meldung_rt { gef_header_rt header; gef_lizenzierungsart_et lizenzierungsart; opaque fehlercode_lizenzierung[3]; }; enum8 gef_qualifikation_et { Undefiniert = 0, Arzt = 1, Sanitaeter = 2, Ersthelfer = 3 }; /*----------------------------------------------------------------*/ /* Bestandsmeldung Saniätsmaterial */ /* GEF_BESTANDSMELDUNG_SANITAETSMATERIAL */ /*----------------------------------------------------------------*/ struct gef_bestandmseldung_sanitatsmaterial_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt16 id_behandelnder; gef_qualifikation_et qualifikation; UInt8 anzahl_sanmat; UInt24 bestand_sanmaterialien; }; /*----------------------------------------------------------------*/ /* SaniätsDienst Instandssetzung PVSAN */ /* GEF_SANITAETSDIENST_INSTANDSETZUNG_PVSAN */ /*----------------------------------------------------------------*/ struct gef_sanitetsdienst_instandsetzung_pvsan_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt16 massnahmen_getaetigt; UInt16 id_behandelnder; gef_qualifikation_et qualifikation; UInt16 massnahmen_benoetigt; }; /*----------------------------------------------------------------*/ /* Technik Funktionsraum-Meldung */ /* TECHNIK_FUNKTIONSRAUM */ /*----------------------------------------------------------------*/ struct gef_technik_funktionsraum_rt { gef_header_rt header; UInt16 broadcast_index; UInt16 wirkfeldkennung; UInt8 typ; string wirkfeldbezeichner[8]; gef_gps_position_rt zentrum; UInt16 breite; UInt16 hoehe; }; /*----------------------------------------------------------------*/ /* Wirkfeld Einzelgeschoss-Meldung */ /* WIRKFELD_EINZELGESCHOSS_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_munitionsart_steilfeuer_et { STEILFEUER_AZ = 1, STEILFEUER_HE_ANNZ = 2, STEILFEUER_BOMBLET = 3, STEILFEUER_SM_ART = 4, STEILFEUER_NEBEL = 5, MOERSER_AZ = 10, MOERSER_ANNZ = 11, BORDKANONE = 20, UNGEL_RAKETE = 21, BOMBLET = 22, SPRENGBOMBE = 23 }; struct gef_beschreibung_wirkfeld_einzelgeschoss_rt { UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; UInt8 partei_id; gef_gps_zeit_rt wirkbeginn; gef_gps_position_rt einschlagort; UInt8 wirkdurchmesser; gef_munitionsart_steilfeuer_et munitionsart; }; struct gef_wirkfeld_einzelgeschoss_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_einzelgeschoss_rt beschreibung_wirkfeld_einzelgeschoss; }; /*----------------------------------------------------------------*/ /* Wirkfeld Flächendeckes Feuer-Meldung */ /* WIRKFELD_FLAECHENDECKENDES_FEUER_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_beschreibung_wirkfeld_flaechendeckendes_feuer_rt { UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; UInt8 partei_id; gef_gps_zeit_rt wirkbeginn; UInt16 wirkdauer; gef_gps_position_rt wirkfeldeckpunkt; UInt8 wirkfeldbreite; UInt8 wirkfeldtiefe; UInt16 drehwinkel; UInt16 anzahl_einschlaege; UInt8 wirkkantenlaenge; gef_munitionsart_steilfeuer_et munitionsart; }; struct gef_wirkfeld_flaechendeckendes_feuer_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_flaechendeckendes_feuer_rt beschreibung_wirkfeld_flaechendeckendes_feuer; }; /*----------------------------------------------------------------*/ /* Wirkfeld Flächendeckes Feuer-Feuer Stop-Meldung */ /* WIRKFELD_FLAECHENDECKENDES_FEUER_STOP_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_wirkfeld_flaechendeckendes_feuer_stop_meldung_rt { gef_header_rt header; UInt16 broadcast_index; UInt16 wirkfeldkennung; }; /*----------------------------------------------------------------*/ /* Wirkfeld Flächendeckes Feuer-Feuer Fortsetzen-Meldung */ /* WIRKFELD_FLAECHENDECKENDES_FEUER_FORTSETZEN_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_beschreibung_wirkfeld_flaechendeckendes_feuer_fortsetzen_rt { UInt16 wirkfeldkennung; UInt16 fortsetzungswert_zufallszahl; UInt16 nummer_des_naechsten_einschags; gef_gps_zeit_rt fortsetzungszeit; UInt16 verbleibende_wirkdauer; }; struct gef_wirkfeld_flaechendeckendes_feuer_fortsetzen_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_flaechendeckendes_feuer_fortsetzen_rt beschreibung_wirkfeld_flaechendeckendes_feuer_fortsetzen; }; /*----------------------------------------------------------------*/ /* Wirkfeld Minensperre-Meldung */ /* WIRKFELD_MINENSPERRE_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_minentyp_et { SchtzAbwMi_DUS = 211, SchtzAbVMi_DUS = 212, PzAbwVMi_DUS = 213, SchtzAbwMi_virtuell = 214, PzAbwVMi_virtuell = 215, PzAbwWMi_virtuell = 216, PzAbwRiMi_AGDUS = 60 }; struct gef_segment_rt { gef_gps_position_rt startpunkt; UInt16 minenanzahl; UInt16 drehwinkel; }; struct gef_beschreibung_wirkfeld_minensperre_rt { UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; UInt8 partei_id; gef_gps_zeit_rt wirkbeginn; UInt8 wirkdauer; gef_gps_position_rt wirkfeldeckpunkt; UInt16 wirkfeldbreite; UInt16 wirkfeldtiefe; UInt8 verlegetiefe; UInt8 verlegedichte; gef_minentyp_et minentyp; UInt16 minenanzahl; UInt8Idx anzahl_segmente; gef_segment_rt segment<5>; }; struct gef_wirkfeld_minensperre_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_minensperre_rt beschreibung_wirkfeld_minensperre; }; /*----------------------------------------------------------------*/ /* Wirkfeld Status Minensperre-Meldung */ /* WIRKFELD_STATUS_MINENSPERRE_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_beschreibung_minenstatus_rt { UInt16 wirkfeldkennung; UInt16IdxDiv8 anzahl_minen; opaque minenstatus<150>; }; struct gef_wirkfeld_status_minensperre_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_minenstatus_rt beschreibung_minenstatus; }; /*----------------------------------------------------------------*/ /* Wirkfeld A-Kampfmittel-Meldung */ /* WIRKFELD_A_KAMPFMITTEL_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_beschreibung_wirkfeld_a_kampfmittel_rt { UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; UInt8 partei_id; gef_gps_zeit_rt wirkbeginn; UInt16 wirkdauer; gef_gps_position_rt einschlagort; UInt16 radius; UInt16 kantenlaenge_bereich_1; UInt16 kantenlaenge_bereich_2; UInt16 oeffnungswinkel; UInt16 drehwinkel; }; struct gef_wirkfeld_a_kampfmittel_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_a_kampfmittel_rt beschreibung_wirkfeld_a_kampfmittel; }; /*----------------------------------------------------------------*/ /* Wirkfeld C-Kampfstoff-Meldung */ /* WIRKFELD_C_KAMPFSTOFF_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_kampfstofftyp_et { fluechtig = 1, sesshaft = 2 }; struct gef_beschreibung_wirkfeld_c_kampfstoff_rt { UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; UInt8 partei_id; gef_gps_zeit_rt wirkbeginn; UInt8 wirkdauer; gef_gps_position_rt einschlagort; UInt16 radius; UInt8 vergroesserungsfaktor; UInt16 windrichtung; UInt8 windgeschwindigkeit; gef_gps_zeit_rt gueltigkeitszeitpunkt_wetterdaten; gef_gps_position_rt position_gueltigkeitszeitpunkt_wetterdaten;; UInt8 kampfstoffkennung; gef_kampfstofftyp_et kampfstofftyp; }; struct gef_wirkfeld_c_kampfstoff_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_wirkfeld_c_kampfstoff_rt beschreibung_wirkfeld_c_kampfstoff; }; /*----------------------------------------------------------------*/ /* Deaktivierung-Wirkfeld-Meldung */ /* DEAKTIVIERUNG_WIRKFELD_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_wirkfeldtyp_et { Undefined = 0, Minensperre = 1, Steilfeuer_Flaeche = 2, Steilfeuer_Einzel = 3, A_Waffe = 4, C_Waffe = 5, Funktionsraum = 6, TechnicalArea = 7, DusSingleMineSimulator = 8, GasPipeDetonation = 9, SpecialArea = 10, BeStillWarning = 11, DangerZoneExplosion = 12, AirSupport = 13 }; struct gef_deaktivierung_wirkfeld_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_wirkfeldtyp_et wirkfeldtyp; UInt16 wirkfeldkennung; }; /*----------------------------------------------------------------*/ /* Wirkfeld Aenderung Bezeichner-Meldung */ /* WIRKFELD_AENDERUNG_BEZEICHNER_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_wirkfeld_aenderung_bezeichner_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_wirkfeldtyp_et wirkfeldtyp; UInt16 wirkfeldkennung; string wirkfeldbezeichner[8]; }; /*----------------------------------------------------------------*/ /* Deaktivierung Einzelmine-Meldung */ /* DEAKTIVIERUNG_EINZELMINE_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_deaktivierung_einzelmine_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_gps_zeit_rt GPS_Zeit; UInt16 wirkfeldkennung; UInt16 minenindex; }; /*----------------------------------------------------------------*/ /* Reaktivierung DUS Mine-Meldung */ /* REAKTIVIERUNG_DUS_MINE_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_dus_minenkennungen_rt { UInt16Idx anzahl_DUS_Minen; UInt16 kennung_DUS_Mine<500>; }; struct gef_reaktivierung_dus_mine_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_dus_minenkennungen_rt DUS_minenkennungen; }; /*----------------------------------------------------------------*/ /* Definition-IED */ /* DEFINITION_IED */ /*----------------------------------------------------------------*/ enum8 gef_ied_typ_et { S_IED = 1, IED_innen = 2, IED_aussen = 3 }; enum8 gef_ied_kopplungsstatus_et { IED_keine_Kopplung = 1, IED_Kopplung_an_Tln = 2, IED_Kopplung_an_IPS = 3 }; enum8 gef_ied_takitscher_zustand_et { IED_inaktiv = 0, /* verlegt und gesichert */ IED_aktiv = 1, /* scharf */ IED_geloescht = 2, /* entschaerft */ IED_ausgeloest_Schalter = 3, IED_ausgeloest_Fernbedienung = 4, IED_ausgeloest_Lichtschranke = 5, IED_ausgeloest_Zugdraht = 6, IED_ausgeloest_Kontrollgeraet = 7, IED_unbekannt = 255 /* Kontakt verloren */ }; struct gef_definition_ied_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt16 kennung; gef_ied_typ_et typ; UInt8 ausloeser; UInt8 sprengkraft; gef_gps_position_rt gps_position; UInt8 partei_id; gef_ied_kopplungsstatus_et kopplungsstatus; gef_ausstattungs_id_t gekoppelte_id; gef_ied_takitscher_zustand_et taktischer_zustand; /* 0 inaktiv, 1 aktiv */ UInt8 pyrotechnik; /* 0 keine Pyro, 1 mit Pyro */ }; /*----------------------------------------------------------------*/ /* Zustand-IED */ /* ZUSTAND_IED */ /*----------------------------------------------------------------*/ enum8 gef_ied_fehler_et { IED_kein_Fehler = 0, IED_Kommunikations_Fehler = 1 }; struct gef_zustand_ied_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt16 kennung; gef_ied_takitscher_zustand_et taktischer_zustand; UInt8 pyrotechnik; /* 0 keine Pyro, 1 mit Pyro */ UInt8 batteriewarnung; /* Bitleiste */ gef_ied_fehler_et fehler_status_elektronik; gef_ied_fehler_et fehler_status_pyrotechnik1; gef_ied_fehler_et fehler_status_pyrotechnik2; gef_ied_fehler_et fehler_status_pyrotechnik3; }; /*----------------------------------------------------------------*/ /* Treffer Ausloesung-Meldung */ /* TREFFER_AUSLOESUNG_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_verwundung_beschaedigung_et { Einsatzbereit = 0, Leichter_Treffer = 1, Mittlerer_Treffer = 2, Schwerer_Treffer = 3, Bewegungsunfaehig = 4, Bewegungsunfaehig_sichtbar = 5, Ausfall_Waffenanlage = 6, Ausfall_Waffenanlage_sichtbar = 7, Totalausfall_sichtbar = 8, Zeitlicher_Ausfall = 9, Annaehernder_Treffer = 10, Treffer_ohne_Wirkung = 11 }; struct gef_treffer_ausloesung_meldung_rt { gef_header_rt header; gef_gps_zeit_rt GPS_zeit; gef_verwundung_beschaedigung_et verwundung_beschaedigung; }; /*----------------------------------------------------------------*/ /* Status Einzelminensimulator */ /* STATUS_EINZELMINENSIMULATOR */ /*----------------------------------------------------------------*/ struct gef_status_einzelminensimulator_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt16 minenkennung; gef_gps_position_rt gps_position; UInt8 minentyp; UInt8 status; }; /*----------------------------------------------------------------*/ /* Wirkfeld Einzelminensimulator */ /* WIRKFELD_EINZELMINENSIMULATOR */ /*----------------------------------------------------------------*/ struct gef_beschreibung_einzelminensimulator_rt { UInt16 wirkfeldkennung; UInt8 partei_id; UInt16 minenkennung; gef_gps_zeit_rt wirkbeginn; gef_gps_position_rt minenposition; UInt8 minentyp; }; struct gef_wirkfeld_einzelminensimulator_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_einzelminensimulator_rt beschreibung_einzelminensimulator; }; /*----------------------------------------------------------------*/ /* Schiedsrichtereingriff */ /* SCHIEDSRICHTEREINGRIFF */ /*----------------------------------------------------------------*/ /* struct gef_schiedsrichtereingriff_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; gef_gps_position_rt gps_position; UInt16 schiedsrichter_aktion; UInt8 schiedsrichter; }; /*----------------------------------------------------------------*/ /* Selektive Aufmunitionierung */ /* GEF_SELEKTIVE_AUFMUNITIONIERUNG */ /*----------------------------------------------------------------*/ struct gef_aufmunitionierung_rt { UInt16 munitionsart; UInt8 ort; /* Turm / Wanne */ UInt16 neuer_vorrat; /* 0xffff = default, 0xfffe = unveraendert lassen, 0xfffd = unbegrenzt */ UInt16 neuer_default_vorrat; /* 0xffff = factory default, 0xfffe = unveraendert lassen, 0xfffd = unbegrenzt */ UInt8 tracer_ratio; /* 0 = kein Trace, 1 = jedes Projektil, 2 = jedes 2. Projektil, ... */ }; struct gef_selektive_aufmunitionierung_rt { gef_header_rt header; u_int waffen_id; UInt8Idx anzahl_aufmunitionierungen; gef_aufmunitionierung_rt aufmunitionierung<10>; }; /*----------------------------------------------------------------*/ /* SaniätsDienst Instandssetzung */ /* GEF_SANITAETSDIENST_INSTANDSETZUNG */ /*----------------------------------------------------------------*/ enum8 gef_behandlungs_ergebnis_et { Keine = 0, Erfolg = 1, Stabilisiert = 2, Fehler = 3 }; struct gef_sanitetsdienst_instandsetzung_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; UInt8 verurschaer_typ; UInt16 ausstattung_behandelnder; gef_verwundung_beschaedigung_et status_start; UInt8 typ_der_behandlung; UInt8 triage; UInt8 typ_der_behandlung; gef_verwundung_beschaedigung_et status_ergebnis; gef_behandlungs_ergebnis_et ergebhnis_behandlung; UInt8 triage_priorität; UInt8 komplett_status; UInt24 behandlungszeit; UInt24 erholungszeit; }; */ /*----------------------------------------------------------------*/ /* Funktionsraum-Meldung */ /* FUNKTIONSRAUM_MELDUNG */ /*----------------------------------------------------------------*/ enum8 gef_betriebsmodus_et { Nicht_vorhanden = 0, Eingriff_durch_schiedsrichter = 1, Wartezeit_nach_Erreichen_des_Funktionsraums = 2 }; struct gef_funktionsraum_rt { gef_betriebsmodus_et betriebsmodus; UInt8 wartezeit; }; struct gef_beschreibung_funktionsraum_rt { UInt16 funktionsraumkennung; string funktionsraumbezeichner[8]; UInt8 partei_id; gef_gps_position_rt funktionsraumeckpunkt; UInt8 funktionsraumbreite; UInt8 funktionsraumtiefe; gef_funktionsraum_rt funktionsraum_fuer_entgiftungsmassnahmen; gef_funktionsraum_rt funktionsraum_fuer_instandsetzungsmassnahmen; gef_funktionsraum_rt funktionsraum_fuer_sandienstliche_versorgung; }; struct gef_funktionsraum_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_beschreibung_funktionsraum_rt beschreibung_funktionsraum; }; /*----------------------------------------------------------------*/ /* Funktionsraum-Meldung */ /* FUNKTIONSRAUM_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_deaktivieren_funktionsraum_meldung_rt { gef_header_rt header; UInt16 broadcast_index; UInt16 funktionsraumkennung; }; /*----------------------------------------------------------------*/ /* Datenverkehr TDS-SRT-Meldung */ /* DATENVERKEHR_TDS_SRT_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_fuer_tne_transparente_daten_rt { opaque data<30>; /* 30 => dyn.-array-offset */ }; struct gef_datenverkehr_tds_srt_meldung_rt { gef_header_rt header; gef_fuer_tne_transparente_daten_rt fuer_TNE_transparente_daten; }; /*----------------------------------------------------------------*/ /* Datenverkehr TDS-DMF-Meldung */ /* DATENVERKEHR_TDS_DMF_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_datenverkehr_tds_dmf_meldung_rt { gef_header_rt header; gef_fuer_tne_transparente_daten_rt fuer_TNE_transparente_daten; }; /*----------------------------------------------------------------*/ /* Steuerung Verkehrsaufkommen-Meldung */ /* STEUERUNG_VERKEHRSAUFKOMMEN_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_steuerung_verkehrsaufkommen_meldung_rt { gef_header_rt header; gef_lastzustand_datenfunk_et lastzustand_datenfunk; UInt16 inhibit_zeit_fuer_positionsmeldungen; }; /*----------------------------------------------------------------*/ /* Nachforderung Broadcast Telegramme-Meldung */ /* NACHFORDERUNG_BROADCAST_TELEGRAMME_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_nachforderung_broadcast_telegramme_meldung_rt { gef_header_rt header; gef_gps_zeit_rt GPS_zeit; UInt8 ruecksetzzaehler; UInt16 broadcast_index; }; /*----------------------------------------------------------------*/ /* Nop-Meldung */ /* NOP_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_broadcasttelegramme_rt { UInt16 feld_anfang; UInt16 feld_ende; }; struct gef_nop_meldung_rt { gef_header_rt header; gef_broadcasttelegramme_rt broadcasttelegramme; }; /*----------------------------------------------------------------*/ /* Sprachauswahl-Meldung */ /* SPRACHAUSWAHL_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_sprachauswahl_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_sprache_et sprachauswahl; }; /*----------------------------------------------------------------*/ /* Allgemeine Nachricht-Meldung */ /* ALLGEMEINE_NACHRICHT_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_nachricht_rt { UInt8Idx laenge; string text<80>; }; struct gef_allgemeine_nachricht_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_nachricht_rt nachricht; }; /*----------------------------------------------------------------*/ /* Sammeldeaktivierung Wirkfeld-Meldung */ /* SAMMELDEAKTIVIERUNG_WIRKFELD_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_liste_wirkfeldkennungen_rt { UInt8Idx anzahl_kennungen; UInt16 wirkfeldkennung<100>; }; struct gef_wf_sammeldeaktivierung_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_liste_wirkfeldkennungen_rt liste_der_wirkfeldkennungen; }; /*----------------------------------------------------------------*/ /* Sammeldeaktivierung DUS-Minen-Meldung */ /* SAMMELDEAKTIVIERUNG_DUS_MINEN_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_liste_dus_minenkennungen_rt { UInt16Idx anzahl_DUS_minen; UInt16 kennung_DUS_Mine<500>; }; struct gef_wf_sammeldeaktivierung_dus_minen_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_liste_dus_minenkennungen_rt liste_DUS_minenkennungen; }; /*----------------------------------------------------------------*/ /* Sammeldeaktivierung Funktionsraum-Meldung */ /* SAMMELDEAKTIVIERUNG_FUNKTIONSRAUM_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_liste_funktionsraumkennungen_rt { UInt8Idx anzahl_kennungen; UInt16 funktionsraumkennung<100>; }; struct gef_wf_sammeldeaktivierung_funktionsraum_meldung_rt { gef_header_rt header; UInt16 broadcast_index; gef_liste_funktionsraumkennungen_rt liste_der_funktionsraumkennungen; }; /*----------------------------------------------------------------*/ /* Datenverkehr TDS-GeoP-Meldung */ /* DATENVERKEHR_TDS_GEOP_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_geop_daten_rt { opaque data<31>; /* 31 => dyn.-array-offset */ }; struct gef_datenverkehr_tds_geop_meldung_rt { gef_header_rt header; UInt8 laenge_GeoP_Daten; gef_geop_daten_rt geop_daten; }; /*----------------------------------------------------------------*/ /* Datenverkehr TDS-TgtS-Meldung */ /* DATENVERKEHR_TDS_TGTS_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_tgts_daten_rt { opaque data<31>; /* 31 => dyn.-array-offset */ }; struct gef_datenverkehr_tds_tgts_meldung_rt { gef_header_rt header; UInt8 laenge_tgts_Daten; gef_tgts_daten_rt tgts_daten; }; /*----------------------------------------------------------------*/ /* Konfiguration IPS-Meldung */ /* KONFIGURATION_IPS_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_zuordnung_rt { UInt16 raumnummer_des_gebaeudemodell; UInt16 IPS_Platz_des_gebaeudemodell; UInt16 IPS_Kennung; }; struct gef_ips_konfiguration_rt { UInt8Idx anzahl; gef_zuordnung_rt zuordnung<255>; }; struct gef_konfiguration_ips_meldung_rt { gef_header_rt header; UInt16 gebaeudemodell; gef_ips_konfiguration_rt ips_konfiguration; }; /*----------------------------------------------------------------*/ /* GEF_TREFFER_EREIGNIS_SEKUNDAERWIRKUNG */ /*----------------------------------------------------------------*/ struct gef_treffer_ereignis_sekundaerwirkung_rt { gef_header_rt header; gef_gps_zeit_rt wirkbeginn; UInt16 munCode; UInt16 verursacher; gef_wirkfeldtyp_et wirkfeldtyp; UInt8 effectCode; UInt16 reserve1; UInt16 reserve2; }; /*----------------------------------------------------------------*/ /* Konfiguration ZEG-Meldung */ /* KONFIGURATION_ZEG_MELDUNG */ /*----------------------------------------------------------------*/ struct gef_zeg_zuordnung_rt { UInt16 referenzmodul_des_gebaeudemodell; UInt16 ZEG_Kennung; }; struct gef_zeg_konfiguration_rt { UInt8Idx anzahl; gef_zeg_zuordnung_rt zeg_zuordnung<255>; }; struct gef_konfiguration_zeg_meldung_rt { gef_header_rt header; UInt16 gebaeudemodell; gef_zeg_konfiguration_rt zeg_konfiguration; }; /*----------------------------------------------------------------*/ /* Ausloseung DUS-Treffer */ /* GEF_AUSLOESUNG_DUS_TREFFER */ /*----------------------------------------------------------------*/ struct gef_ausloesung_dus_treffer_rt { gef_header_rt header; gef_gps_zeit_rt zeit; UInt8Idx munitionsart; UInt16 richtung; UInt16 entfernung; UInt8Idx wirkung; UInt16 verursacher; }; /*----------------------------------------------------------------*/ /* GEF_ANFORDERUNG_SW_VERSION */ /* GEF_SW_VERSIONSMELDUNG */ /*----------------------------------------------------------------*/ struct gef_anforderung_sw_version_rt { gef_header_rt header; UInt16 geraetekennung; }; /*----------------------------------------------------------*/ /* TEILNEHMERMODE_SETZEN (Zentrale -> SFM) */ /*----------------------------------------------------------*/ enum8 gef_tln_sprache_et { TLN_SPRACHE_KEINE_AENDERUNG = 0, TLN_SPRACHE_DE = 1, TLN_SPRACHE_EN = 2, TLN_SPRACHE_FR = 3, TLN_SPRACHE_AR = 4, TLN_SPRACHE_ES = 5, TLN_SPRACHE_RU = 6 }; enum8 gef_operation_mode_et { OP_MODE_KEINE_AENDERUNG = 0, OP_MODE_NORMAL = 1, OP_MODE_BE_STILL = 2 }; enum8 gef_wph_mode_weste_et { WPH_MODE_WESTE_KEINE_AENDERUNG = 0, WPH_MODE_WESTE_OHNE = 1, WPH_MODE_WESTE_MIT = 2 }; enum8 gef_wph_mode_helm_et { WPH_MODE_HELM_KEINE_AENDERUNG = 0, WPH_MODE_HELM_OHNE = 1, WPH_MODE_HELM_MIT = 2 }; enum8 gef_wph_mode_personenschutz_et { WPH_MODE_PERSONENSCHUTZ_KEINE_AENDERUNG = 0, WPH_MODE_PERSONENSCHUTZ_OHNE = 1, WPH_MODE_PERSONENSCHUTZ_ANZUG = 2, WPH_MODE_PERSONENSCHUTZ_ANZUG_HANDSCHUHE_SCHUHE = 3 }; enum8 gef_schutzniveau_et { SN_SCHUTZ_KEINE_AENDERUNG = 0, SN_IDZ_ES = 1, SN_IDZ_BS = 2, SN_KSK = 3, SN_SOLDAT_MIT_KOERPERSCHUTZ = 4, SN_SOLDAT_DARSTELLER = 5 }; enum8 gef_handgranaten_suche_et { HS_KEINE_AENDERUNG = 0, HS_SUCHE_AUS = 1, HS_SUCHE_EIN = 2 }; enum8 gef_international_mode_et { IM_KEINE_AENDERUNG = 0, IM_AUS = 1, IM_EIN = 2 }; /* Reaktivierung: in Minuten (0, 10 .. 2550) */ struct gef_teilnehmermode_rt { gef_tln_sprache_et sprache; gef_operation_mode_et op_mode; UInt8 reaktivierung_entgiftung; UInt8 reaktivierung_inst; UInt8 reaktivierung_sanitaet; gef_wph_mode_personenschutz_et:1..3 mode_personenschutz; gef_wph_mode_weste_et:4..5 mode_weste; gef_wph_mode_helm_et:6..7! mode_helm; gef_schutzniveau_et schutzniveau; gef_handgranaten_suche_et:6..7! handgranaten_suche; gef_international_mode_et:4..5 international_mode; }; struct gef_teilnehmermode_setzen_rt { gef_header_rt header; UInt16 bcIndex; gef_teilnehmermode_rt mode; }; /*----------------------------------------------------------*/ /* TEILNEHMERMODE_MELDUNG (SFM -> Zentrale) */ /*----------------------------------------------------------*/ struct gef_teilnehmermode_meldung_rt { gef_header_rt header; gef_gps_zeit_rt gps_zeit; gef_teilnehmermode_rt mode; }; /*----------------------------------------------------------------*/ /* GEF_TEILNEHMER_KONFIG_SETZEN */ /*----------------------------------------------------------------*/ enum8 gef_positions_handling_et { POS_HANDLING_DEFAULT = 0, POS_HANDLING_UNGUELTIG_NICHT_SCHICKEN = 1, POS_HANDLING_UNGUELTIG_KENNZEICHNEN = 2, POS_HANDLING_UNGUELTIG_SCHICKEN = 3 }; enum8 gef_optischer_code_et { OPTISCHER_CODE_KEINE_AENDERUNG = 0, OPTISCHER_CODE_OSAG_1_0 = 1, OPTISCHER_CODE_OSAG_2_0_BASIC = 2 }; struct gef_sfm_konfig_rt { UInt16 pos_aenderung_fz; UInt16 pos_aenderung_personal; UInt16 pos_aenderung_lfz; UInt16 pos_uebertragungs_interval; UInt16 hoehengrenze; gef_positions_handling_et:6..7 positions_handling; UInt8Idx:0..1! pos_interval_umschaltung; UInt16 wartezeit_nachforderung; UInt8 faktor_wartezeit_hochlast; UInt8 wartezeit_vbg_1_2; UInt8 wartezeit_vbg_2_3; UInt8 wartezeit_vbg_3_8; gef_optischer_code_et optischer_code; UInt8 verwundungsmodel; UInt8 gueltigkeitsdauer_standortbestimmung; }; struct gef_teilnehmer_konfig_setzen_rt { gef_header_rt header; UInt16 broadcast_index; gef_sfm_konfig_rt konfig; }; /*----------------------------------------------------------------*/ /* GEF_TEILNEHMER_KONFIG_ANTWORT */ /*----------------------------------------------------------------*/ struct gef_teilnehmer_konfig_antwort_rt { gef_header_rt header; gef_gps_zeit_rt GPS_zeit; gef_sfm_konfig_rt konfig; }; /*-------------------------------------------------------*/ /* GEF_NOTRUF */ /*-------------------------------------------------------*/ struct gef_notruf_rt { gef_gps_position_rt gps_position; }; /*==============================================================*/ /* Zusammenfassung der Telegramm-Typen */ /*==============================================================*/ union gef_tg_nd_ switch (gef_telegramm_id_et telegramm_id) { case GEF_INIT: gef_init_meldung_rt init_meldung; case GEF_MANIPULATIONSMELDUNG: case GEF_BITE_MELDUNG: case GEF_BITE_MELDUNG2: case GEF_BETRIEBSZUSTAND_AUSSTATTUNG: case GEF_ANFORDERUNG_KONFIGURATIONSDATEN: case GEF_FEHLERMELDUNG_GFD: case GEF_POSITIONS_MELDUNG: case GEF_POSITIONS_MELDUNG_MIT_TEILNEHMER: case GEF_POSITIONS_MELDUNG_LFZ: case GEF_FEUER_EREIGNIS: case GEF_TREFFER_EREIGNIS_DUS: case GEF_TREFFER_EREIGNIS_WIRKSIMULATION: case GEF_FEUEREREIGNIS_MIT_WAFFENZUORDNUNG: case GEF_TAKTISCHER_STATUS: case GEF_TREFFER_EREIGNIS_DUS_IPS: case GEF_TREFFER_EREIGNIS_WIRKSIMULATION_IPS: case GEF_EINTRETEN_FUNKTIONSRAUM: case GEF_DATENVERKEHR_SRT_TDS: case GEF_DATENVERKEHR_DMF_TDS: case GEF_SONDERSENSORIK_BETRIEBSZUSTAND: case GEF_SONDERSENSORIK_FAHRSPUR: case GEF_SONDERSENSORIK_DATEN: case GEF_SONDERSENSORIK_MIVANH_VERLEGEDATEN: case GEF_SONDERSENSORIK_WMIV_VERLEGEDATEN: case GEF_SONDERSENSORIK_MIVANH_VERLEGEPOSITION: case GEF_DATENVERKEHR_GEOP_TDS: case GEF_DATENVERKEHR_TGTS_TDS: case GEF_GERAETEEREIGNIS: case GEF_WAFFENZUORDNUNG: case GEF_IPS_POSITIONSDATEN: case GEF_STANDORTBESTIMMUNG: case GEF_MUNITIONSVORRAT_EINER_ZUGEORDNETEN_WAFFE: case GEF_ANFORDERUNG_KONFIG_ZEG: case GEF_TREFFEREREIGNIS_SEKUNDAERWIRKUNG: case GEF_TREFFEREREIGNIS_GEBAEUDE: case GEF_TEILNEHMERMODE_ANFORDERN: case GEF_TEILNEHMER_KONFIG_ANFORDERN: case GEF_SCHIEDSRICHTEREINGRIFF: gef_automatic_conversion_rt manipulations_meldung; case GEF_SELEKTIVE_AUFMUNITIONIERUNG: gef_selektive_aufmunitionierung_rt selektive_aufmunitionierung; case GEF_SANITAETSDIENST_INSTANDSETZUNG: gef_sanitetsdienst_instandsetzung_rt sanitetsdienst_instandsetzung; case GEF_BESTANDSMELDUNG_SANITAETSMATERIAL: gef_bestandmseldung_sanitatsmaterial_rt bestandmseldung_sanitatsmaterial; case GEF_SANITAETSDIENST_INSTANDSETZUNG_PVSAN: gef_sanitetsdienst_instandsetzung_pvsan_rt sanitetsdienst_instandsetzung_pvsan; case GEF_TECHNIK_FUNKTIONSRAUM: gef_technik_funktionsraum_rt technik_funktionsraum; case GEF_UMGEBUNGS_MELDUNG: gef_umgebungs_meldung_rt umgebungs_meldung; case GEF_UMGEBUNGS_MELDUNG2: gef_umgebungs_meldung2_rt umgebungs_meldung2; case GEF_AUFFORDERUNG_BITE_MELDUNG: gef_aufforderung_bite_meldung_rt aufforderung_bite_meldung; case GEF_LIZENSIERUNG_TNE: gef_lizensierung_tne_meldung_rt linzensierung_tne_meldung; case GEF_KONFIGURATION_TEILNEHMER: gef_konfiguration_teilnehmer_rt konfiguration_teilnehmer; case GEF_KONFIGURATION_WIRKMODELL: gef_konfiguration_wirkmodell_rt konfiguration_wirkmodell; case GEF_TEILNEHMERMODE_SETZEN: gef_teilnehmermode_setzen_rt teilnehmermode_setzen; case GEF_TEILNEHMERMODE_MELDUNG: gef_teilnehmermode_meldung_rt teilnehmermode_meldung; case GEF_TEILNEHMER_KONFIG_SETZEN: gef_teilnehmer_konfig_setzen_rt teilnehmer_konfig_setzen; case GEF_TEILNEHMER_KONFIG_ANTWORT: gef_teilnehmer_konfig_antwort_rt teilnhemer_konfig_antwort; /* case GEF_POSITIONSKORREKTURDATEN: */ case GEF_WIRKFELD_EINZELGESCHOSS: gef_wirkfeld_einzelgeschoss_meldung_rt wirkfeld_einzelgeschoss_meldung; case GEF_WIRKFELD_FLAECHENDECKENDES_FEUER: gef_wirkfeld_flaechendeckendes_feuer_meldung_rt wirkfeld_flaechendeckendes_feuer_meldung; case GEF_WIRKFELD_FLAECHENDECKENDES_FEUER_STOP: gef_wirkfeld_flaechendeckendes_feuer_stop_meldung_rt wirkfeld_flaechendeckendes_feuer_stop_meldung; case GEF_WIRKFELD_FLAECHENDECKENDES_FEUER_FORTSETZEN: gef_wirkfeld_flaechendeckendes_feuer_fortsetzen_meldung_rt wirkfeld_flaechendeckendes_feuer_fortsetzen_meldung; case GEF_WIRKFELD_MINENSPERRE: gef_wirkfeld_minensperre_meldung_rt wirkfeld_minensperre_meldung; case GEF_WIRKFELD_STATUS_MINENSPERRE: gef_wirkfeld_status_minensperre_meldung_rt wirkfeld_status_minensperre_meldung; case GEF_WIRKFELD_A_KAMPFMITTEL: gef_wirkfeld_a_kampfmittel_meldung_rt wirkfeld_a_kampfmittel_meldung; case GEF_WIRKFELD_C_KAMPFSTOFF: gef_wirkfeld_c_kampfstoff_meldung_rt wirkfeld_c_kampfstoff_meldung; case GEF_DEAKTIVIERUNG_WIRKFELD: gef_deaktivierung_wirkfeld_meldung_rt deaktivierung_wirkfeld_meldung; case GEF_WIRKFELD_AENDERUNG_BEZEICHNER: gef_wirkfeld_aenderung_bezeichner_meldung_rt wirkfeld_aenderung_bezeichner_meldung; case GEF_DEAKTIVIERUNG_EINZELMINE: gef_deaktivierung_einzelmine_meldung_rt deaktivierung_einzelmine_meldung; case GEF_REAKTIVIERUNG_DUS_MINE: gef_reaktivierung_dus_mine_meldung_rt reaktivierung_dus_mine_meldung; case GEF_DEFINITION_IED: gef_definition_ied_rt definition_ied; case GEF_ZUSTAND_IED: gef_zustand_ied_rt zustand_ied; case GEF_STATUS_EINZELMINENSIMULATOR: gef_status_einzelminensimulator_rt status_einzelminensimulator_rt; case GEF_WIRKFELD_EINZELMINENSIMULATOR: gef_wirkfeld_einzelminensimulator_rt wirkfeld_einzelminensimulator_rt; case GEF_TREFFER_AUSLOESUNG: gef_treffer_ausloesung_meldung_rt treffer_ausloesung_meldung; case GEF_FUNKTIONSRAUM: gef_funktionsraum_meldung_rt funktionsraum_meldung; case GEF_DEAKTIVIEREN_FUNKTIONSRAUM: gef_deaktivieren_funktionsraum_meldung_rt deaktivieren_funktionsraum_meldung; case GEF_DATENVERKEHR_TDS_SRT: gef_datenverkehr_tds_srt_meldung_rt datenverkehr_tds_srt_meldung; case GEF_DATENVERKEHR_TDS_DMF: gef_datenverkehr_tds_dmf_meldung_rt datenverkehr_tds_dmf_meldung_meldung; case GEF_STEUERUNG_VERKEHRSAUFKOMMEN: gef_steuerung_verkehrsaufkommen_meldung_rt steuerung_verkehrsaufkommen_meldung; case GEF_NACHFORDERUNG_BROADCAST_TELEGRAMME: gef_nachforderung_broadcast_telegramme_meldung_rt nachforderung_broadcast_telegramme_meldung; case GEF_NOP: gef_nop_meldung_rt nop_meldung; case GEF_SPRACHAUSWAHL: gef_sprachauswahl_meldung_rt sprachauswahl_meldung; case GEF_ALLGEMEINE_NACHRICHT: gef_allgemeine_nachricht_meldung_rt allgemeine_nachricht_meldung; /* case GEF_ECHO_ON_OFF: case GEF_ESW_MELDUNG: case GEF_GEFECHTSFELDTELEGRAMM: */ case GEF_WF_SAMMELDEAKTIVIERUNG: gef_wf_sammeldeaktivierung_meldung_rt wf_sammeldeaktivierung_meldung; case GEF_WF_SAMMELDEAKTIVIERUNG_DUS_MINEN: gef_wf_sammeldeaktivierung_dus_minen_meldung_rt wf_sammeldeaktivierung_dus_minen_meldung; case GEF_WF_SAMMELDEAKTIVIERUNG_FUNKTIONSRAUM: gef_wf_sammeldeaktivierung_funktionsraum_meldung_rt wf_sammeldeaktivierung_funktionsraum_meldung; case GEF_DATENVERKEHR_TDS_GEOP: gef_datenverkehr_tds_geop_meldung_rt datenverkehr_tds_geop_meldung; case GEF_DATENVERKEHR_TDS_TGTS: gef_datenverkehr_tds_tgts_meldung_rt datenverkehr_tds_tgts_meldung; case GEF_KONFIGURATION_IPS: gef_konfiguration_ips_meldung_rt konfiguration_ips_meldung; case GEF_KONFIGURATION_ZEG: gef_konfiguration_zeg_meldung_rt konfiguration_zeg_meldung; case GEF_AUSLOESUNG_DUS_TREFFER: gef_ausloesung_dus_treffer_rt gef_ausloesung_dus_treffer; case GEF_ANFORDERUNG_SW_VERSION: gef_anforderung_sw_version_rt anforderung_sw_version; case GEF_SW_VERSIONSMELDUNG: gef_automatic_conversion_rt manipulations_meldung; case GEF_TREFFER_EREIGNIS_SEKUNDAERWIRKUNG: gef_treffer_ereignis_sekundaerwirkung_rt treffer_ereignis_sekundaerwirkung; case GEF_NOTRUF: gef_notruf_rt notruf; default: void; }; /* struct dafu_tele { u_long telegramm_zaehler; unsigned short telegramm_prioritaet; gef_tg_nd_ daten; }; */