rtapi_open_as_root − Open a file with "root" privilege
int rtapi_open_as_root(const char *filename, int flags)
The filename to open, as in open(2). Note that rtapi has no well-defined "current directory", so this should be an absolute path, but this is not enforced.
The open flags, as in open(2). Should never include bits that open or create files (e.g., O_CREAT, O_APPEND, etc) as this API is not intended for creating or writing files, but this is not enforced.
In "uspace" realtime, root privileges are dropped whenever possible. This API temporarily switches on root priveleges to open a file, and switches them off before returning. This can be useful for example when accessing device nodes or memory-mapped I/O.
In the case of PCI devices on x86 and x86-64 systems, prefer the linux-style PCI interfaces provided in <rtapi_pci.h>.
In case of success, the nonnegative file descriptor opened. If the caller does not close it, it remains open until rtapi_app exits.
In case of failure, a negative errno value.
Call only from realtime initcode in "uspace" realtime.