====== std.os ====== Betriebssystem-Schnittstelle für häufig benötigte Systemfunktionen: Schlaf-Funktionen (''sleep'', ''sleep_seconds'', ''sleep_microseconds''), Prozess-IDs (''get_pid'', ''get_uid'', ''get_ppid''), Umgebungsvariablen (''env_get''/''env_set''/''env_unset''), aktuelles Verzeichnis, Zeitstempel in ms/µs, Prozessoranzahl, Seitengröße, Arbeitsspeicher, Prozessstart (''exec''), Pfadprüfung (''path_exists'', ''is_directory'', ''is_file'') und Systeminfos (OS-Name, Architektur, Benutzername, Home-/Temp-Verzeichnis). Einsatzbereiche: Systemdienste, CLI-Tools, Daemon-Prozesse, plattformübergreifende Hilfsprogramme. **Autor:** Andreas Röne\\ **Copyright:** 2024-2025 Andreas Röne ---- ===== Externe Funktionen ===== ^ Signatur ^ Beschreibung ^ | ''getenv(name: pchar): pchar'' | Liest Umgebungsvariable aus Prozessumgebung | | ''setenv(name: pchar, val: pchar, overwrite: int64): int64'' | Setzt Umgebungsvariable mit optionalem Überschreiben | | ''unsetenv(name: pchar): int64'' | Entfernt Umgebungsvariable aus Prozessumgebung | | ''getcwd(buf: pchar, size: int64): pchar'' | Gibt aktuelles Arbeitsverzeichnis zurück | | ''chdir(path: pchar): int64'' | Wechselt das aktuelle Arbeitsverzeichnis | | ''getpid(): int64'' | Gibt Prozess-ID des aktuellen Prozesses zurück | | ''getuid(): int64'' | Gibt Benutzer-ID des aktuellen Prozesses zurück | | ''sysconf(name: int64): int64'' | Liest systemweite Konfigurationswerte | | ''getppid(): int64'' | Gibt Prozess-ID des Elternprozesses zurück | | ''access(path: pchar, mode: int64): int64'' | Prüft Dateizugriffsrechte für gegebenen Pfad | | ''raise(sig: int64): int64'' | Sendet Signal an den aktuellen Prozess | | ''time(tloc: int64): int64'' | Gibt aktuelle Zeit als Unix-Zeitstempel zurück | ---- ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Sichtbarkeit ^ | ''SC_CLK_TCK'' | ''int64'' | ''2'' | priv | | ''SC_PAGESIZE'' | ''int64'' | ''47'' | priv | ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''sleep(milliseconds: int64): void'' | pub | Hält Ausführung für Millisekunden an | | ''sleep_seconds(seconds: int64): void'' | pub | Hält Ausführung für Sekunden an | | ''sleep_microseconds(microseconds: int64): void'' | pub | Hält Ausführung für Mikrosekunden an | | ''get_pid(): int64'' | pub | Gibt Prozess-ID des aktuellen Prozesses zurück | | ''get_uid(): int64'' | pub | Gibt Benutzer-ID des aktuellen Prozesses zurück | | ''get_ppid(): int64'' | pub | Gibt Prozess-ID des Elternprozesses zurück | | ''env_get(key: pchar): pchar'' | pub | Liest Wert einer Umgebungsvariable | | ''env_set(key: pchar, val: pchar): bool'' | pub | Setzt Wert einer Umgebungsvariable | | ''env_unset(key: pchar): bool'' | pub | Entfernt eine Umgebungsvariable | | ''env_has(key: pchar): bool'' | pub | Prüft ob Umgebungsvariable existiert | | ''get_cwd(): pchar'' | pub | Gibt aktuelles Arbeitsverzeichnis zurück | | ''set_cwd(path: pchar): bool'' | pub | Wechselt das aktuelle Arbeitsverzeichnis | | ''time_ms(): int64'' | pub | Gibt aktuelle Zeit in Millisekunden zurück | | ''time_us(): int64'' | pub | Gibt aktuelle Zeit in Mikrosekunden zurück | | ''get_num_cores(): int64'' | pub | Gibt Anzahl der Prozessorkerne zurück | | ''get_page_size(): int64'' | pub | Gibt Speicherseitengröße in Bytes zurück | | ''get_total_memory_mb(): int64'' | pub | Gibt gesamten Arbeitsspeicher in MB zurück | | ''get_available_memory_mb(): int64'' | pub | Gibt verfügbaren Arbeitsspeicher in MB zurück | | ''os_exit(code: int64): void'' | pub | Beendet Prozess mit gegebenem Exit-Code | | ''abort(): void'' | pub | Bricht Prozess mit SIGABRT ab | | ''exec(path: pchar, a0: pchar, a1: pchar, a2: pchar, a3: pchar): int64'' | pub | Startet externen Prozess mit Argumenten | | ''path_exists(path: pchar): bool'' | pub | Prüft ob Pfad im Dateisystem existiert | | ''is_directory(path: pchar): bool'' | pub | Prüft ob Pfad ein Verzeichnis ist | | ''is_file(path: pchar): bool'' | pub | Prüft ob Pfad eine reguläre Datei ist | | ''get_os_name(): pchar'' | pub | Gibt Betriebssystemnamen zurück | | ''get_os_version(): pchar'' | pub | Gibt Betriebssystemversion zurück | | ''get_arch(): pchar'' | pub | Gibt CPU-Architektur-Bezeichnung zurück | | ''get_home_dir(): pchar'' | pub | Gibt Home-Verzeichnis des Benutzers zurück | | ''get_temp_dir(): pchar'' | pub | Gibt temporäres Verzeichnis des Systems zurück | | ''get_user_name(): pchar'' | pub | Gibt Benutzernamen des aktuellen Prozesses zurück | | ''path_filename(path: pchar): pchar'' | pub | Extrahiert Dateinamen aus Pfad-String | | ''path_dirname(path: pchar): pchar'' | pub | Extrahiert Verzeichnisteil aus Pfad-String | | ''path_is_absolute(path: pchar): bool'' | pub | Prüft ob Pfad absolut ist |