====== std.validate.mmsi ====== MMSI (Maritime Mobile Service Identity) — 9-stellige Nummer zur Identifikation von Seefunkstationen und Schiffen (ITU-Regulierung). Die Validierung ist strukturell: Die ersten 1–3 Stellen kodieren den MID (Maritime Identification Digits) — den nationalen Bereich. Es gibt keine Prüfziffer; Gültigkeit wird über die MID-Tabelle geprüft. → [[lyx_-_programmiersprache:units:validate|std.validate]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''MMSI_OK'' | ''0'' | Strukturell gültig | | ''MMSI_ERR_INVALID_LENGTH'' | ''1'' | Länge ≠ 9 | | ''MMSI_ERR_INVALID_CHAR'' | ''2'' | Nur Ziffern erlaubt | | ''MMSI_ERR_INVALID_MID'' | ''3'' | Unbekannter MID | ---- ===== MMSI-Typen ===== ^ Präfix ^ Typ ^ | ''0'' | Gruppenruf-MMSI | | ''00'' | Küstenfunkstelle | | ''111'' | SAR-Luftfahrzeug | | ''970'' | EPIRB (Seenotbake) | | ''972'' | MOB-Gerät | | ''974'' | SART (Suche & Rettung) | | Sonstige | Schiffs-MMSI | ---- ===== Verwendung ===== import std.validate.mmsi; var mmsi: pchar := "211234560"; // Deutschland (MID 211) var result: int64 := MMSIValidate(mmsi); if (result = MMSI_OK) { log_info(MMSIGetMID(mmsi)); // "211" log_info(MMSIGetCountry(mmsi)); // "Deutschland" log_info(MMSIGetType(mmsi)); // "Schiff" } var epirb: pchar := "970234560"; log_info(MMSIGetType(epirb)); // "EPIRB" ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''MMSIValidate(mmsi: pchar): int64'' | pub | MMSI strukturell validieren (Länge + MID-Prüfung) | | ''MMSIGetMID(mmsi: pchar): pchar'' | pub | Maritime Identification Digits (1–3 Stellen) extrahieren | | ''MMSIGetCountry(mmsi: pchar): pchar'' | pub | Ländername anhand MID zurückgeben | | ''MMSIGetType(mmsi: pchar): pchar'' | pub | MMSI-Typ bestimmen (Schiff, Küstenfunkstelle, EPIRB …) | Letzte Aktualisierung: 2026-05-23