Запись в файл с серверов PM или VFS (Minix)
Я пытаюсь написать системный вызов для системы Minix. Системный вызов требуется для поиска позиции и записи в файл в этой позиции.
Однако я не могу вызвать lseek или написать, или fseek, fwrite изнутри сервера pm. Если я включу любую из библиотек, в которых есть эти функции, компилятор, похоже, не распознает функции, он говорит, что они не определены, что приводит к сбою при компиляции.
Бьюсь об заклад, что к тому времени, когда PM, серверы VFS компилируются, stdio, unistd еще не были скомпилированы, таким образом, ошибки, но в таком случае, как мне искать или записывать в файл?
Есть какие-нибудь подсказки?
Заранее спасибо.
1 ответ
Вам нужно создать новые константы PM_ в com.h и обработать их (например, с помощью do_seek) в Servers / vfs / main.c и использовать sendrec(VFS_PROC_NR, &m) в коде Servers / PM /*. C.
Сообщение для sendrec должно быть настроено в соответствии с ожиданием получения кода VFS (см. Seek.c или open.c или что-то еще внутри серверов /vfs).