0
我正在嘗試使用系統調用來顯示目錄的內容。我已經指出了vfs_readdir的方向,但我不知道如何使用它或傳遞給它以獲取目錄的內容。我想要做的就是能夠將文件列在與ls工作方式類似的目錄中。 (我最終打算將它存儲在某種緩衝區中,但現在只要能夠打印目錄的內容就足夠了)。我如何在Linux內核中使用vfs_readdir?
我正在嘗試使用系統調用來顯示目錄的內容。我已經指出了vfs_readdir的方向,但我不知道如何使用它或傳遞給它以獲取目錄的內容。我想要做的就是能夠將文件列在與ls工作方式類似的目錄中。 (我最終打算將它存儲在某種緩衝區中,但現在只要能夠打印目錄的內容就足夠了)。我如何在Linux內核中使用vfs_readdir?
我想你可能使用filp_open打開的目錄。
對於「標誌」的說法,你proably需要把中列出的LOOKUP_標誌的某種組合在include/linux/namei.h
你可以在這裏看到build_open_flags作用:http://lxr.linux.no/#linux+v3.1.5/fs/open.c#L876提供標誌來filp_open。
據我所知,filp_open在內核空間打開文件的正確途徑。但是,這樣做是不鼓勵的。
只要你從屬於一個用戶進程「正常」線程的上下文中這樣做,我想你會好起來。
你編寫內核級的代碼? –
是的。編寫我自己的系統調用。 – NuGy