2011-12-11 55 views
0

我正在嘗試使用系統調用來顯示目錄的內容。我已經指出了vfs_readdir的方向,但我不知道如何使用它或傳遞給它以獲取目錄的內容。我想要做的就是能夠將文件列在與ls工作方式類似的目錄中。 (我最終打算將它存儲在某種緩衝區中,但現在只要能夠打印目錄的內容就足夠了)。我如何在Linux內核中使用vfs_readdir?

+0

你編寫內核級的代碼? –

+0

是的。編寫我自己的系統調用。 – NuGy

回答

0

我想你可能使用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在內核空間打開文件的正確途徑。但是,這樣做是不鼓勵的。

只要你從屬於一個用戶進程「正常」線程的上下文中這樣做,我想你會好起來。