LinuxCNC Documentation

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)