SYNTAX
#include <rtapi.h>
int rtapi_open_as_root(const char *filename, int flags);
ARGUMENTE
- filename
-
Der zu öffnende Dateiname, wie in open(2). Beachten Sie, dass rtapi kein wohldefiniertes "aktuelles Verzeichnis" hat, so dass dies ein absoluter Pfad sein sollte, aber dies wird nicht erzwungen.
- flags
-
Die Open-Flags, wie in open(2). Sollte niemals Bits enthalten, die Dateien öffnen oder erstellen (z. B. O_CREAT, O_APPEND usw.), da diese API nicht für das Erstellen oder Schreiben von Dateien gedacht ist, aber dies wird nicht erzwungen.
BESCHREIBUNG
In "uspace"-Echtzeit werden die Root-Rechte wann immer möglich aufgehoben. Diese API schaltet vorübergehend Root-Rechte ein, um eine Datei zu öffnen, und schaltet sie vor der Rückkehr wieder aus. Dies kann z. B. beim Zugriff auf Geräteknoten oder speicherprogrammierte E/A nützlich sein.
Im Falle von PCI-Geräten auf x86- und x86-64-Systemen sollten Sie die linuxähnlichen PCI-Schnittstellen in <rtapi_pci.hE> bevorzugen.
RETURN VALUE
Im Erfolgsfall wird der nicht-negative Dateideskriptor geöffnet. Wenn der Aufrufer ihn nicht schließt, bleibt er offen, bis rtapi_app beendet wird.
Im Falle eines Fehlers wird ein negativer errno-Wert ausgegeben.
REALTIME CONSIDERATIONS
Aufruf nur von Echtzeit-Initcode in "uspace"-Echtzeit.
SIEHE AUCH
open(2), rtapi_pci(3)