СИНТАКСИС
#include <rtapi.h>
int rtapi_open_as_root(const char *filename, int flags);
АРГУМЕНТИ
- ім’я файлу
-
Ім’я файлу для відкриття, як у open(2). Зверніть увагу, що rtapi не має чітко визначеного "поточного каталогу", тому це має бути абсолютний шлях, але це не є обов’язковим.
- прапори
-
Відкриті прапори, як у open(2). Ніколи не повинні містити біти, що відкривають або створюють файли (наприклад, O_CREAT, O_APPEND тощо), оскільки цей API не призначений для створення або запису файлів, але це не є обов’язковим.
ОПИС
У режимі реального часу «uspace» привілеї root скасовуються, коли це можливо. Цей API тимчасово вмикає привілеї root для відкриття файлу і вимикає їх перед поверненням. Це може бути корисно, наприклад, при доступі до вузлів пристроїв або вводу-виводу, відображеного в пам’яті.
У випадку пристроїв PCI на системах x86 та x86-64, перевагу надайте інтерфейсам PCI у стилі Linux, що надаються у <rtapi_pci.h>.
ПОВЕРНЕНЕ ЗНАЧЕННЯ
У разі успіху відкривається невід’ємний файловий дескриптор. Якщо викликаюча сторона не закриває його, він залишається відкритим до завершення роботи rtapi_app.
У разі невдачі, від’ємне значення errno.
МІРКУВАННЯ В РЕАЛЬНОМУ ЧАСІ
Викликати лише з ініціалізаційного коду реального часу в режимі реального часу "uspace".
ДИВІТЬСЯ ТАКОЖ
open(2), rtapi_pci(3)