2016-08-13 16 views
1

Я пытаюсь написать системный вызов для системы Minix. Системный вызов необходим для поиска позиции и записи в файл в этой позиции.Запись в файл с серверов PM или VFS (Minix)

Однако я не могу вызвать lseek или написать, или fseek, fwrite, изнутри сервера pm. Если я включаю любую из библиотек, у которых есть эти функции, компилятор, похоже, не распознает функции, он говорит, что они неопределены, таким образом, мне грозит компиляция.

Моя ставка заключается в том, что к моменту, когда PM, серверы VFS компилируют, stdio, unistd, еще не компилируются, поэтому ошибки, но в этом случае, как я должен искать или писать в файл?

Любые подсказки?

Заранее спасибо.

ответ

0

Вам нужно создать новые константы PM_ в com.h и обращаться с ними (например, с do_seek) в серверах/VFS/main.c и использовать sendrec (VFS_PROC_NR, & м) в серверах/ч/*. С кодом

Сообщение для sendrec должно быть настроено в соответствии с ожиданием получения кода VFS (см. Seek.c или open.c или что-то еще внутри серверов/vfs).

+0

Можете ли вы подробнее рассказать об этом? Есть ли более подробные примеры? – John