キャラクタードライバーを実装しています。だから私はファイル操作を登録しています。read関数を登録するときminor、この方法で数値を抽出しました
myread(struct file * file, char __user * ubuf, size_t lbuf, loff_t *offset)
{
int minor;
minor = MINOR(file->f_path.dentry->d_inode->f_pos->i_rdev);
.......
openこのルールは通話にも適用されます。
myopen(struct inode * inode, struct file * file)
struct file定義には への参照がありstruct inodeます。したがって、open呼び出しには 1 つの引数で十分です。
私の質問は次のとおりです。
- なぜ
open2つの引数があるのですか? (または)なぜ議論readがないのですか?struct inode * - 呼び出しでマイナー番号を抽出するために
read、上記の命令を使用しました。定義とヘッダー ファイルを見つけるのに 1 時間 30 分かかりました。構造の定義を見つける簡単な方法はありますか? struct inodethroughの参照を見つける方法はいくつありますstruct fileか?また、最適な方法は何ですか?