Lyx OS ruft aus Ring 3 keine Syscalls unmittelbar. Stattdessen gibt es einen gemeinsamen Speicherblock: Nummer und Argumente hineinschreiben, auslösen, Ergebnis herauslesen. Der Block kommt über mmap mit negativer Größe — keine Zweckentfremdung, sondern die vorgesehene Sonderform.
Quelldatei: Vega/Backend/LyxCall.lyx
→ Alle Units · Alle Steuerelemente · Vega VCL
| Name | Typ | Wert | Bedeutung |
|---|---|---|---|
LXEV_KEY | int64 | 1 | Ereignis vom Compositor: Taste |
LXEV_RESIZE | int64 | 2 | Ereignis: Größe geändert |
LXEV_MOUSE_MOVE | int64 | 3 | Ereignis: Zeiger bewegt |
LXEV_MOUSE_DOWN | int64 | 4 | Ereignis: Maustaste gedrückt |
LXEV_MOUSE_UP | int64 | 5 | Ereignis: Maustaste losgelassen |
LXEV_CLOSE | int64 | 6 | Ereignis: Fenster schließen |
| Signatur | Zweck |
|---|---|
LyxInit(): bool | Brücke einrichten |
LyxReady(): bool | Ist die Brücke nutzbar |
LyxWinCreate(x: int64, y: int64, w: int64, h: int64, flags: int64): int64 | Fenster anlegen |
LyxWinDestroy(win: int64): void | Fenster abbauen |
LyxWinRaise(win: int64): void | Fenster nach vorn holen |
LyxWinMove(win: int64, x: int64, y: int64): void | Fenster verschieben |
LyxWinResize(win: int64, w: int64, h: int64): void | Fenstergröße ändern |
LyxWinGetFb(win: int64): int64 | Adresse des Fensterpuffers |
LyxGetPid(): int64 | Eigene Prozessnummer |
LyxYield(): void | Rechenzeit abgeben |
LyxTimeNs(): int64 | Zeit in Nanosekunden |
LyxVsyncWait(): void | Auf den Bildwechsel warten |
LyxEventRecv(puffer: int64): int64 | Nächstes Ereignis holen |
LyxEventRecvTimeout(pid: int64, puffer: int64, timeout_ms: int64): int64 | Ereignis holen, höchstens so lange warten |
LyxVsyncWait ist der Weg zu ruckelfreier Darstellung — ohne ihn zeichnet die Schleife gegen den Bildwechsel.
Importiert: Vega.Types · Standardbibliothek: std.io
Wird importiert von: Vega.Backend.LyxOS
Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus Vega/Backend/LyxCall.lyx erhoben.