2011-12-11 11 views
0

私はシステムコールを使ってディレクトリの内容を表示しようとしています。私はvfs_readdirの指摘を指摘してきましたが、ディレクトリの内容を取得するために、その使用法やそれを渡すための手がかりがありません。私がしたいのは、lsの動作と同様のディレクトリにあるファイルをリストすることだけです。 (私は最終的にこれを何らかのバッファーに格納しようとしていますが、今のところdirの内容を印刷するだけで十分でしょう)。Linuxカーネルでvfs_readdirはどのように使用しますか?

+0

カーネルレベルのコードを書いていますか? –

+0

はい。自分のシステムコールを書く。 – NuGy

答えて

0

おそらくfilp_openを使用してディレクトリを開く必要があると思います。 http://lxr.linux.no/#linux+v3.1.5/fs/open.c#L876 filp_openするフラグを提供する:

「フラグ」引数には、あなたがproablyに記載されているLOOKUP_フラグのいくつかの組み合わせを配置する必要がありあなたがここに何をするかbuild_open_flags見ることができます/ Linuxの/ namei.h

が含まれます。

私が知る限り、filp​​_openは、カーネルスペースでファイルを開く正しい方法です。しかし、そうすることはお勧めしません。

あなたがユーザープロセスに属している「通常の」スレッドのコンテキストからそうしていれば、あなたは大丈夫だと思います。

関連する問題