キャラクタードライバーを実装しています。だから私はファイル操作を登録しています。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 つの引数で十分です。
私の質問は次のとおりです。
- なぜ
open
2つの引数があるのですか? (または)なぜ議論read
がないのですか?struct inode *
- 呼び出しでマイナー番号を抽出するために
read
、上記の命令を使用しました。定義とヘッダー ファイルを見つけるのに 1 時間 30 分かかりました。構造の定義を見つける簡単な方法はありますか? struct inode
throughの参照を見つける方法はいくつありますstruct file
か?また、最適な方法は何ですか?