LKM で自分でキャラクター デバイス ドライバーを作成します。
dev_open(struct inode *inode, struct file *filp);
dev_read (struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
dev_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos)
dev_release(struct inode *inode, struct file *filp)
次に、カーネル モジュールで、キャラクター デバイスへの書き込みも行います。書き込みでは、実際に関数を呼び出す必要があります。
dev_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos)
ここSEで同様のリンクdev_write()
を見つけましたが、この方法では関数を呼び出して書き込むのではなく、より深いものを呼び出しますvfs_write()
よね?