2016-08-13 45 views
1

我正在嘗試編寫Minix系統的系統調用。系統調用需要查找位置並寫入該位置的文件。從PM或VFS服務器寫入文件(Minix)

但是我無法從pm服務器中調用lseek或write,或fseek,fwrite。如果我包含任何具有這些功能的庫,編譯器似乎不會識別這些函數,它說它們是未定義的,因此會導致編譯時崩潰。我的打賭是,在PM的時候,VFS服務器正在編譯,stdio,unistd,還沒有編譯,因此錯誤,但在那種情況下,我該如何尋找或寫入文件?

任何線索?

在此先感謝。

回答

0

您需要com.h創建新的PM_常數,進行處理(例如用do_seek)在服務器/ VFS/main.c中和在服務器/ PM/* C代碼

使用sendrec(VFS_PROC_NR,&米)

sendrec的消息必須根據接收的VFS代碼的期望來設置(請參閱seek.c或open.c或服務器/ vfs中的任何內容)。

+0

你能詳細解釋一下嗎?有沒有更詳細的例子? – John